Você está na página 1de 18

Sistema de notcias

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&Iacute;CIAS</font></td>
</tr>
<tr>
<td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif">&nbsp;</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">&nbsp;</td>
</tr>
</table>
<p>
<%
rsNoticias.movenext
wend
%>
<%
"Caso o Recordset esteja vazio, ele mostrar a parte abaixo
else
%>
</p>
</p>
<p align="center">N&atilde;o existem not&iacute;cias cadastradas com o tipo
selecionado</p>
<p>
<% end if %>
</p>
</blockquote></td>
<td width="40" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans-serif">&nbsp;</font></td>
</tr>
<tr>
<td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial,
Helvetica, sans-serif">ASP
- Not&iacute;cias</font></div></td>
</tr>
< /table>
< p>&nbsp;</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&Iacute;CIAS</font></td>
</tr>
<tr>
<td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif">&nbsp;</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&eacute;m</strong></font></td>
</tr>
<% while NOT rsOutras.EOF %>
<tr>
<td width="3" bgcolor="f0f0f0">&nbsp;</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&iacute;cias</font></div></td>
</tr>
< /table>
< p>&nbsp;</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&Iacute;CIAS</font></td>
</tr>
<tr>
<td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif">&nbsp;</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&iacute;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">&nbsp;</td>
</tr>
</table>
<p>
<%
rsNoticias.movenext
wend
%>
<%
"Caso o Recordset esteja vazio, ele mostrar a parte abaixo
else
%>
</p>
</p>
<p align="center">N&atilde;o existem not&iacute;cias cadastradas com o tipo
selecionado</p>
<p>
<% end if %>
</p>
</blockquote></td>
<td width="40" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans-serif">&nbsp;</font></td>
</tr>
<tr>
<td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial,
Helvetica, sans-serif">ASP
- Not&iacute;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&Iacute;CIAS</font></td>
</tr>
<tr>
<td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif">&nbsp;</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&iacute;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&iacute;cia</font></strong></font></p>
<p><font size="2" face="Arial, Helvetica, sans-serif">Para incluir uma
nova not&iacute;cia, preencha o formul&aacute;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&iacute;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&uacute;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&atilde;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>&nbsp;</p>
</blockquote></td>
<td width="40" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans-serif">&nbsp;</font></td>
</tr>
<tr>
<td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial,
Helvetica, sans-serif">ASP
- Not&iacute;cias</font></div></td>
</tr>
< /table>
< p>&nbsp;</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&Iacute;CIAS</font></td>
</tr>
<tr>
<td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif">&nbsp;</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&iacute;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&iacute;cia</font></strong></font></p>
<p><font size="2" face="Arial, Helvetica, sans-serif">Para incluir uma
nova not&iacute;cia, preencha o formul&aacute;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&iacute;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&uacute;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&atilde;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>&nbsp;</p>
</blockquote></td>
<td width="40" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans-serif">&nbsp;</font></td>
</tr>
<tr>
<td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial,
Helvetica, sans-serif">ASP
- Not&iacute;cias</font></div></td>
</tr>
< /table>
< p>&nbsp;</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!

Você também pode gostar