Vincius Luiz (e-mail) diretor de Programao da AM4 (www.am4.com.br) e ministra treinamentos e
palestras na rea de internet. Trabalha voltado WebStandards, ASP, MySql, XML, entre outros. Ol caros amigos! Essa semana, devido a vrios pedidos, iremos desenvolver um sistema de notcias simples com administrativo e validaes automticas, isto , data certa para expirar entre outros. Para darmos incio, criaremos um banco de dados com 03 tabelas: Tabela Campos Descrio Acesso Codusuario(AutoNumerao) Login (Texto) Senha (Texto) Tabela utilizada para armazenar os logins que tero acesso ao administrativo Noticias_tipo Codtipo (Autonumerdao) Tipo (texto) Codnoticia(Autonumerao) Tipo (numero) Titulo (Texto) Tabela que ser utilizada para armazenar os tipos de notcias Noticias Chamada (memorando) Conteudo (memorando) data (data/hora) expirar (data/hora) destaque (numero) Tabela que ir armazenar as notcias. Muito bem. Primeiro iremos preencher o banco de dados para que possamos criar a pgina que exibir a notcia.
A tabela "Noticias_tipo" ser preenchida com: Esportes; Informtica e Poltica; j na tabela "Noticias", colocaremos os textos de acordo com seus temas, isto , se formos colocar uma notcia de poltica, iremos colocar preencher o campo "Tipo" com o "Codtipo" de poltica ( 3 ), e assim sucessivamente. Agora que o banco de dados j est preenchido, iremos desenvolver a pgina que exibir as notcias, no caso, a pgina principal de nosso exemplo. Esta pgina ter o nome de "principal.asp": <% Option Explicit "Criando variveis Dim localbd, meubd, rsMenu, rsNoticias "Indicando local do Banco de dados localbd="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("bd/base.mdb") "Setando conexes set meubd=server.createobject("adodb.connection") set rsMenu=server.createobject("adodb.recordset") set rsNoticias=server.createobject("adodb.recordset") meubd.Open localbd "Esta SELECT ir selecionar todos os tipos de notcias "Em nosso caso, iremos desenvolver um menu diretamente com os itens cadastrados rsMenu.Open "SELECT * from noticias_tipo order by tipo", meubd "Agora iremos fazer um IF para validar se foi enviado um querystring "Pois usaremos a mesma pgina para mostrar os determinados tipos de notcias "Se for igual a vazio, ele far a primeira SELECT, seno ele far a segunda de acordo com o cdigo if request.querystring("tipo")="" then rsNoticias.Open "SELECT * from noticias, noticias_tipo where destaque=1 and noticias.tipo=codtipo and day(expirar)>="& day(now) &" and month(expirar)>="& month(now) &" and year(expirar)>="& year(now) &" order by data desc", meubd else rsNoticias.Open "SELECT * from noticias, noticias_tipo where noticias.tipo="& request.querystring("tipo") &" and noticias.tipo=codtipo and day(expirar)>="& day(now) &" and month(expirar)>="& month(now) &" and year(expirar)>="& year(now) &" order by data desc", meubd end if %> < html> < head> < title>iMasters / ASP - Notcias</title> < /head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> < table width="778" border="0" cellspacing="3" cellpadding="0"> <tr valign="middle"> <td height="70" colspan="3" bgcolor="fcfcfc"><font size="6" face="Arial, Helvetica, sans-serif">ASP NOTÍCIAS</font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td width="126" height="277" valign="top" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans- serif"> <% "iremos fazer uma repetio dos tipos while NOT rsMenu.EOF %> </font> <table width="126" border="0" cellspacing="1" cellpadding="2"> <tr> <td width="126" bgcolor="#FFFFFF"><div align="left"><font size="2" face="Arial, Helvetica, sans- serif"><a href="principal.asp?tipo=<%=rsMenu("codtipo")%>"><%=rsMenu("tipo")%></a></font></div></td> </tr> </table> <font face="Arial, Helvetica, sans-serif"> <% rsMenu.movenext wend %> </font></td> <td width="600" valign="top"><blockquote> <p><font face="Arial, Helvetica, sans-serif"><strong><font size="4"> <% "Se houver registros ele mostrar esta parte if NOT rsNoticias.EOF then %> <% "Aqui iremos validar se tambm possui cdigo na querystring "Seno tiver, ele escrever Destaques if request.querystring("tipo")="" then response.write "Destaques" else response.write rsNoticias("tipo") end if %> </font></strong></font></p> <p> <% "Repetir as notcias encontradas while NOT rsNoticias.EOF %> </p> <table width="85%" border="0" cellspacing="3" cellpadding="0"> <tr> <td bgcolor="fcfcfc"><a href="noticia_detalhe.asp?cod=<%=rsNoticias("codnoticia")%>"><font color="#000000" size="1" face="Arial, Helvetica, sans-serif"><%=rsNoticias("data")%> - <%=rsNoticias("tipo")%></font><font color="#000000" face="Arial, Helvetica, sans-serif"><br> <strong><font size="2"><%=rsNoticias("titulo")%></font></strong></font></a></td> </tr> <tr> <td bgcolor="fcfcfc"><font size="2" face="Arial, Helvetica, sans- serif"><%=rsNoticias("chamada")%></font></td> </tr> <tr> <td height="19"> </td> </tr> </table> <p> <% rsNoticias.movenext wend %> <% "Caso o Recordset esteja vazio, ele mostrar a parte abaixo else %> </p> </p> <p align="center">Não existem notícias cadastradas com o tipo selecionado</p> <p> <% end if %> </p> </blockquote></td> <td width="40" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial, Helvetica, sans-serif">ASP - Notícias</font></div></td> </tr> < /table> < p> </p> < /body> < /html> Agora que a pgina que mostrar as notcias j est pronta, iremos desenvolver a pgina que ir mostrar os detalhes de uma notcia. Esta pgina ter logo abaixo do contedo uma lista com algumas notcias do mesmo tipo e se chamar "noticia_detalhe.asp": <% Option Explicit "Criando variveis Dim localbd, meubd, rsMenu, rsNoticias, rsOutras "Indicando local do Banco de dados localbd="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("bd/base.mdb") "Setando conexes set meubd=server.createobject("adodb.connection") set rsMenu=server.createobject("adodb.recordset") set rsNoticias=server.createobject("adodb.recordset") set rsOutras=server.createobject("adodb.recordset") meubd.Open localbd "Esta SELECT ir selecionar todos os tipos de notcias "Em nosso caso, iremos desenvolver um menu diretamente com os itens cadastrados rsMenu.Open "SELECT * from noticias_tipo order by tipo", meubd "Esta SELECT ir obter o registro que o codnoticia igual ao enviado por querystring rsNoticias.Open "SELECT * from noticias, noticias_tipo where codnoticia="& request.querystring("cod") &" and codtipo=noticias.tipo", meubd "Agora selecionaremos todos os outros registros onde o tipo igual ao da notcia selecionada "porm o codnotcia seja diferente "E com as mesmas condies feitas na SELECT da pgina principal "A validao de data rsOutras.Open "SELECT * from noticias where tipo="& rsNoticias("codtipo") &" and codnoticia<> "& rsNoticias("codnoticia") &" and day(expirar)>="& day(now) &" and month(expirar)>="& month(now) &" and year(expirar)>="& year(now) &" order by data desc", meubd %> < html> < head> < title>iMasters / ASP - Notcias</title> < /head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> < table width="778" border="0" cellspacing="3" cellpadding="0"> <tr valign="middle"> <td height="70" colspan="3" bgcolor="fcfcfc"><font size="6" face="Arial, Helvetica, sans-serif">ASP NOTÍCIAS</font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td width="126" height="277" valign="top" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans- serif"> <% "iremos fazer uma repetio dos tipos while NOT rsMenu.EOF %> </font> <table width="126" border="0" cellspacing="1" cellpadding="2"> <tr> <td width="126" bgcolor="#FFFFFF"><div align="left"><font size="2" face="Arial, Helvetica, sans- serif"><a href="principal.asp?tipo=<%=rsMenu("codtipo")%>"><%=rsMenu("tipo")%></a></font></div></td> </tr> </table> <font face="Arial, Helvetica, sans-serif"> <% rsMenu.movenext wend %> </font></td> <td width="600" valign="top"><blockquote> <p><font size="2" face="Arial, Helvetica, sans-serif"><strong><font color="#666666"><%=rsNoticias("data")%> - <%=rsNoticias("tipo")%><br> </font></strong></font><font size="2" face="Arial, Helvetica, sans- serif"><strong><%=rsNoticias("titulo")%></strong></font></p> <p><font size="2" face="Arial, Helvetica, sans-serif"> <%=replace(rsNoticias("conteudo"), chr(13), "<p>")%> </font></p> <% "S mostrar as outras noticias se no o Recordset no for vazio if NOT rsOutras.EOF then %> <table width="85%" border="0" cellspacing="2" cellpadding="1"> <tr> <td colspan="2"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Leia também</strong></font></td> </tr> <% while NOT rsOutras.EOF %> <tr> <td width="3" bgcolor="f0f0f0"> </td> <td width="527" bgcolor="fcfcfc"><a href="noticia_detalhe.asp?cod=<%=rsOutras("codnoticia")%>"><font size="2" face="Arial, Helvetica, sans-serif" color="#000000"><%=rsOutras("titulo")%></font></a></td> </tr> <% rsOutras.movenext wend %> </table> <% end if %> </blockquote></td> <td width="40" bgcolor="#BFEFFF"></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial, Helvetica, sans-serif">ASP - Notícias</font></div></td> </tr> < /table> < p> </p> < /body> < /html> No sei se vocs notaram, mas no momento de escrever o contedo da notcia, ns utilizamos o comando <%=replace(rsNoticias("conteudo"), chr(13), "<p>")%>. Este comando um pequeno macete de escrever os pargrafos do texto do banco de dados sem necessitar que o mesmo seja em HTML, ou seja, basta copiar e colar um texto normalmente no banco de dados e utilizar este script para escrever.
Ele composto de um Replace e com o uso do comandos da tabela ASCII chr(13), que forma uma quebra de linha. Ento, o que o sistema faz subtituir a quebra de linha por um comando <p> para fazer um pargrafo. Ento est a! O sistema est pronto! Na prxima semana iremos finalizar este sistema de notcias com o desenvolvimento do Administrativo. Para efetuar o download do arquivo utilizado neste exemplo, clique aqui. Qualquer dvida, entrem em contato. Um forte abrao e at a prxima! Sistema de notcias - Parte 02 Vincius Luiz (e-mail) diretor de Programao da AM4 (www.am4.com.br) e ministra treinamentos e palestras na rea de internet. Trabalha voltado WebStandards, ASP, MySql, XML, entre outros. Ol amigos! Tudo bem? Essa semana daremos continuidade ao artigo sobre notcias. Isto , iremos desenvolver o Administrativo do sistema abordado na coluna anterior. Iremos utilizar 9 arquivos para o desenvolvimento do administrativo. Primeiramente, desenvolveremos a pgina de login, ou seja, a pgina que iremos afetuar o logon no sistema. Est pgina ser a "index.asp". <html> < head> < title>ADM</title> < /head> <body> < table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="middle"><form name="form1" id="form1" method="post" action="login.asp"> <table width="151" border="1" align="center" cellpadding="1" cellspacing="2" bordercolor="#FFFFFF"> <tr bordercolor="#CCCCCC"> <td width="36"><div align="right"><font size="1" face="Arial, Helvetica, sans- serif">Login:</font></div> </td> <td width="70"> <input name="login" type="text" id="login" /> </td> </tr> <tr bordercolor="#CCCCCC"> <td><div align="right"><font size="1" face="Arial, Helvetica, sans-serif">Senha:</font></div> </td> <td> <input name="senha" type="password" id="senha" /> </td> </tr> <tr bordercolor="#CCCCCC"> <td colspan="2"><div align="right"><font size="1" face="Arial, Helvetica, sans-serif"></font></div> <div align="right"> <input type="submit" name="Submit" value="Entrar" /> </div> </td> </tr> </table> </form></td> </tr> < /table> < /body> < /html> Agora faremos a pgina responsvel pela verificao do login. "login.asp" <% Option Explicit "Criando variveis Dim localbd, meubd, rs "Indicando local do Banco de dados localbd="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("../bd/base.mdb") "Setando conexes set meubd=server.createobject("adodb.connection") set rs=server.createobject("adodb.recordset") meubd.Open localbd "Selecionaremos o login onde contenha a palavra digitada no campo login da pgina index rs.Open "SELECT * from acesso where login=""& request.form("login") &""", meubd "Se no tiver encontrado nenhum login, o sistema mostrar uma mensagem e voltar if rs.EOF then response.write "<script>history.back(1);alert("Login incorreto.")</script>" else "Seno, ele verificar se a senha a mesma digitada"Seno, ele verificar se a senha a mesma digitada if rs("senha")=request.form("senha") then "Se a senha for igual, ele gravar um cookie com o codigo do usuario e ir para a pgina principal response.cookies("admnews")("login")=rs("codusuario") response.redirect "principal.asp" else "Se no, ir mostrar uma mensagem e voltar response.write "<script>history.back(1);alert("Login incorreto.")</script>" end if end if %> Como podemos ver, estamos gravando um cookie para mostrar que o usurio est logado. Ento, criaremos um include para adicionarmos nas pginas para que nenhum usurio possa acessar sem estar logado. Esta pgina ter o nome de "cookie.asp". <% Option Explicit "Criando variveis Dim localbd, meubd, rs "Indicando local do Banco de dados localbd="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("../bd/base.mdb") "Setando conexes set meubd=server.createobject("adodb.connection") "Criando recordset #0066CC dim cookie "Verificaremos se o cookie diferente de vazio if request.cookies("admnews")("login")<>"" then "Se for, gravaremos uma variavel com o mesmo valor do cookie cookie=request.cookies("admnews")("login") else "Seno o cookie ter o valor 0 (zero) cookie=0 end if meubd.Open localbd "Selecionaremos o codigo da tabela acesso igual ao cookie rs.Open "SELECT * from acesso where codusuario="& cookie &"", meubd "Se no for encontrado, mostraremos uma mensagem e redirecionar para index.asp if rs.EOF then response.write "<script>location = "index.asp";alert("Voc no possui acesso.")</script>" end if %> Se o usurio entrar com o login e senha corretos, ele ser redirecionado para a pgina "principal.asp". Criaremos esta pgina para que o usurio visualize todas as notcias cadastradas. <% Option Explicit "Criando variveis Dim localbd, meubd, rsNoticias "Indicando local do Banco de dados localbd="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("../bd/base.mdb") "Setando conexes set meubd=server.createobject("adodb.connection") "Criando recordset set rsNoticias=server.createobject("adodb.recordset") meubd.Open localbd "Selecionaremos todas as notcias cadastradas rsNoticias.Open "SELECT * from noticias, noticias_tipo where noticias.tipo=codtipo order by data desc", meubd %> < html> < head> < title>iMasters / ASP - Notcias</title> < /head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> < table width="778" border="0" cellspacing="3" cellpadding="0"> <tr valign="middle"> <td height="70" colspan="3" bgcolor="fcfcfc"><font size="6" face="Arial, Helvetica, sans- serif">ADMINISTRATIVO - ASP NOTÍCIAS</font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td width="126" height="277" valign="top" bgcolor="#BFEFFF"><table width="100%" border="0" cellspacing="2" cellpadding="1"> <tr> <td bgcolor="#FFFFFF"><a href="incluir.asp"><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Incluir Notícia</strong></font></div></a></td> </tr> </table></td> <td width="600" valign="top"><blockquote> <p><font face="Arial, Helvetica, sans-serif"><strong><font size="4"> <% "Se houver registros ele mostrar esta parte if NOT rsNoticias.EOF then %> Notcias </font></strong></font></p> <p> <% "Repetir as notcias encontradas while NOT rsNoticias.EOF %> </p> <table width="85%" border="0" cellspacing="3" cellpadding="0"> <tr> <td width="89%" bgcolor="fcfcfc"><a href="noticia_detalhe.asp?cod=<%=rsNoticias("codnoticia")%>"><font color="#000000" size="1" face="Arial, Helvetica, sans-serif"><%=rsNoticias("data")%> - <%=rsNoticias("tipo")%></font><font color="#000000" face="Arial, Helvetica, sans-serif"><br> <strong><font size="2"><%=rsNoticias("titulo")%></font></strong></font></a></td> <td width="11%" bgcolor="fcfcfc"><div align="left"><font size="1" face="Arial, Helvetica, sans- serif"><strong> <% "Aqui ser colocado o codigo da notcia para que a pgina de alterao "selecione o registro escolhido %> <a href="alterar.asp?cod=<%=rsNoticias("codnoticia")%>">ALTERAR</a></strong><br> <% "Assim como fizemos acima, colocaremos tambm o valor para excluir a notcia escolhida %> <strong><a href="excluir.asp?cod=<%=rsNoticias("codnoticia")%>">EXCLUIR</a></strong></font></div></td> </tr> <tr> <td colspan="2" bgcolor="fcfcfc"><font size="2" face="Arial, Helvetica, sans- serif"><%=rsNoticias("chamada")%></font></td> </tr> <tr> <td height="19" colspan="2"> </td> </tr> </table> <p> <% rsNoticias.movenext wend %> <% "Caso o Recordset esteja vazio, ele mostrar a parte abaixo else %> </p> </p> <p align="center">Não existem notícias cadastradas com o tipo selecionado</p> <p> <% end if %> </p> </blockquote></td> <td width="40" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial, Helvetica, sans-serif">ASP - Notícias</font></div></td> </tr> < /table> < /body> < /html> No lado esquerdo teremos um link para a pgina "incluir.asp", pois ser o local onde poderemos adicionar uma nova notcia. <!--#include file="cookies.asp" --> < % "Criando variveis Dim rsTipos set rsTipos=server.createobject("adodb.recordset") "Esta SELECT ir selecionar todos os tipos de notcias "Neste caso, ser para colocarmos no formulrio as opes de escolher o tipo da notcia rsTipos.Open "SELECT * from noticias_tipo order by tipo", meubd %> < html> < head> < title>iMasters / ASP - Notcias</title> < /head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> < table width="778" border="0" cellspacing="3" cellpadding="0"> <tr valign="middle"> <td height="70" colspan="3" bgcolor="fcfcfc"><font size="6" face="Arial, Helvetica, sans- serif">ADMINISTRATIVO - ASP NOTÍCIAS</font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td width="126" height="277" valign="top" bgcolor="#BFEFFF"><table width="100%" border="0" cellspacing="2" cellpadding="1"> <tr> <td bgcolor="#FFFFFF"><a href="incluir.asp"> <div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Incluir Notícia</strong></font></div> </a></td> </tr> </table></td> <td width="600" valign="top"><blockquote> <p><font face="Arial, Helvetica, sans-serif"><strong><font size="4"> Incluir notícia</font></strong></font></p> <p><font size="2" face="Arial, Helvetica, sans-serif">Para incluir uma nova notícia, preencha o formulário abaixo:</font></p> <form name="form1" method="post" action="incluir2.asp"> <table border="0" align="center" cellpadding="0" cellspacing="3"> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Título:</font></div> </td> <td><div align="left"><font face="Arial, Helvetica, sans-serif"><font size="2"> <input name="titulo" type="text" id="titulo" size="40"> </font></font></div> </td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Tipo:</font></div> </td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <select name="tipo" id="tipo"> <% while NOT rsTipos.EOF %> <option value="<%=rsTipos("codtipo")%>"><%=rsTipos("tipo")%></option> <% rsTipos.movenext wend %> </select> </font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Chamada:</font></div> </td> <td><font face="Arial, Helvetica, sans-serif"><font size="2"> <textarea name="chamada" cols="40" id="chamada"></textarea> </font></font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans- serif">Conteúdo:</font></div> </td> <td><font face="Arial, Helvetica, sans-serif"><font size="2"> <textarea name="conteudo" cols="40" rows="5" id="conteudo"></textarea> </font></font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Data para expirar:</font></div> </td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="expira" type="text" id="expira"> </font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Destaque:</font></div> </td> <td> <table width="100" border="0" cellspacing="0" cellpadding="1"> <tr> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input type="radio" name="destaque" value="1"> </font></td> <td><font size="2" face="Arial, Helvetica, sans-serif">Sim</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="destaque" type="radio" value="0" checked> </font></td> <td><font size="2" face="Arial, Helvetica, sans-serif">Não</font></td> </tr> </table></td> </tr> <tr> <td colspan="2"><div align="right"> <input type="submit" name="Submit" value="Cadastrar"> </div></td> </tr> </table> </form> <p> </p> </blockquote></td> <td width="40" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial, Helvetica, sans-serif">ASP - Notícias</font></div></td> </tr> < /table> < p> </p> < /body> < /html> Agora que desenvolvemos a pgina que possui o formulrio, podemos notar que o form est sendo direcionado para "incluir2.asp", que far a insero dos dados no banco de dados. <% Option Explicit "Criando variveis Dim localbd, meubd "Indicando local do Banco de dados localbd="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("../bd/base.mdb") "Setando conexes set meubd=server.createobject("adodb.connection") meubd.Open localbd "Declarando as variveis que recebero os valores do form dim titulo, chamada, tipo, conteudo, expira, data, destaque titulo=request.form("titulo") chamada=request.form("chamada") tipo=request.form("tipo") conteudo=request.form("conteudo") expira=request.form("expira") data=day(now)&"/"&month(now)&"/"&year(now) destaque=request.form("destaque") "Faremos aqui a insero de todos os dados digitados no form anterior meubd.EXECUTE "INSERT INTO noticias (titulo, chamada, tipo, conteudo, expirar, data, destaque) values (""&titulo&"",""&chamada&"","&tipo&",""&conteudo&"",""&expira&"",""&data&"","&destaque&")" "Logo aps a insero dos dados, mostrar uma mensagem e voltar para a pgina principal.asp response.write "<script>location = "principal.asp";alert("Sua notcia foi cadastrada com sucesso!")</script>" %> Bom, a pgina de inserir nova notcia est pronta. Porm, como vimos, tambm teremos a possibilidade de alterar uma determinada notcia. Ento criaremos a pgina "alterar.asp", como est no link da pgina principal.asp. <!--#include file="cookies.asp" --> < % "Criando variveis Dim rsTipos, rsNoticia, selecionada set rsTipos=server.createobject("adodb.recordset") set rsNoticia=server.createobject("adodb.recordset") "Esta SELECT ir selecionar todos os tipos de notcias rsTipos.Open "SELECT * from noticias_tipo order by tipo", meubd "Selecionaremos todos os campos do registro onde o cdigo igual ao do registro selecionado na pgina anterior rsNoticia.Open "SELECT * from noticias WHERE codnoticia="& request.querystring("cod") &"", meubd %> < html> < head> < title>iMasters / ASP - Notcias</title> < /head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> < table width="778" border="0" cellspacing="3" cellpadding="0"> <tr valign="middle"> <td height="70" colspan="3" bgcolor="fcfcfc"><font size="6" face="Arial, Helvetica, sans- serif">ADMINISTRATIVO - ASP NOTÍCIAS</font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td width="126" height="277" valign="top" bgcolor="#BFEFFF"><table width="100%" border="0" cellspacing="2" cellpadding="1"> <tr> <td bgcolor="#FFFFFF"><a href="incluir.asp"> <div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Incluir Notícia</strong></font></div> </a></td> </tr> </table></td> <td width="600" valign="top"><blockquote> <p><font face="Arial, Helvetica, sans-serif"><strong><font size="4"> Incluir notícia</font></strong></font></p> <p><font size="2" face="Arial, Helvetica, sans-serif">Para incluir uma nova notícia, preencha o formulário abaixo:</font></p> <form name="form1" method="post" action="alterar2.asp"> <table border="0" align="center" cellpadding="0" cellspacing="3"> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Título:</font></div> </td> <td><div align="left"><font face="Arial, Helvetica, sans-serif"><font size="2"> <input name="titulo" type="text" id="titulo" value="<%=rsNoticia("titulo")%>" size="40"> </font></font></div> </td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Tipo:</font></div> </td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <select name="tipo" id="tipo"> <% while NOT rsTipos.EOF %> <% "Aqui ser feito uma condio para que o sistema selecione no listmenu justamente "o tipo desta notcia selecionada="" "Se o codigo da notcia for igual ao tipo, declararemos a varivel selecionada com p valor selected if rsTipos("codtipo")=rsNoticia("tipo") then selecionada="selected" end if "Chamaremos abaixo a varivel para que selecione o item correto %> <option value="<%=rsTipos("codtipo")%>" <%=selecionada%>><%=rsTipos("tipo")%></option> <% rsTipos.movenext wend %> </select> </font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Chamada:</font></div> </td> <td><font face="Arial, Helvetica, sans-serif"><font size="2"> <textarea name="chamada" cols="40" id="chamada"><%=rsNoticia("chamada")%></textarea> </font></font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans- serif">Conteúdo:</font></div> </td> <td><font face="Arial, Helvetica, sans-serif"><font size="2"> <textarea name="conteudo" cols="40" rows="5" id="conteudo" ><%=rsNoticia("conteudo")%> < /textarea> </font></font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Data para expirar:</font></div> </td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="expira" type="text" id="expira" value="<%=rsNoticia("expirar")%>"> </font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Destaque:</font></div> </td> <td> <table width="100" border="0" cellspacing="0" cellpadding="1"> <tr> <td><font size="2" face="Arial, Helvetica, sans-serif"> <% dim sim, nao sim="" nao="" "Iremos fazer aqui a mesma coisa que fizemos com o listmenu "Mas neste caso com um boto de seleo "Se o destaque da notcia for 1 a variavel sim ter o valor Checked "Seno, a varivel no ter o valor checked if rsNoticia("destaque")=1 then sim="checked" else nao="checked" end if %>
<input type="radio" name="destaque" value="1" <%=sim%>> </font></td> <td><font size="2" face="Arial, Helvetica, sans-serif">Sim</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="destaque" type="radio" value="0" <%=nao%>> </font></td> <td><font size="2" face="Arial, Helvetica, sans-serif">Não</font></td> </tr> </table></td> </tr> <tr> <td colspan="2"><div align="right"> <input name="cod" type="hidden" id="cod" value="<%=request.querystring("cod")%>"> <input type="submit" name="Submit" value="Alterar"> </div></td> </tr> </table> </form> <p> </p> </blockquote></td> <td width="40" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial, Helvetica, sans-serif">ASP - Notícias</font></div></td> </tr> < /table> < p> </p> < /body> < /html> Para finalizar, est faltando a pgina de excluso. E para que possamos excluir uma determinada notcia, criaremos a pgina "excluir.asp", que foi a pgina citada na pgina principal.asp. <% Option Explicit "Criando variveis Dim localbd, meubd "Indicando local do Banco de dados localbd="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("../bd/base.mdb") "Setando conexes set meubd=server.createobject("adodb.connection") meubd.Open localbd "Iremos deletar o registro onde o cdigo igual ao da querystring que enviamos meubd.EXECUTE "DELETE * from noticias where codnoticia="&request.querystring("cod")&"" "depois da excluso, redirecionaremos para a pgina principal.asp response.redirect "principal.asp" %> O sistema est pronto! Lembrando que estas pginas sero criadas dentro da pgina "ADM" e, como visto, a autenticao est sendo feita na tabela "acesso" do banco de dados. Para efetuar o download do sistema completo, clique aqui. Muito bem! Qualquer dvida, entrem em contato comigo. Um forte abrao e fiquem com DEUS!