Bem vindo ao SOS Designers

Faça o seu cadastro gratuito no Portal SOS Designers e tenha um acesso personalizado.

Empresas

Cadastre gratuitamente suas vagas, crie sua propria Lista de Curriculos Favoritos, e tenha um acesso personalizado.

Usuarios

Cadastre gratuitamente seu curriculo, crie sua propria Lista de Noticias Favoritas e tenha um acesso personalizado.

Área de Empresas | Vagas

Área de acesso a empresas cadastradas que desejam postar vagas de empregos no Portal e pesquisar curriculos.

Cadastre-se gratuitamente
Esqueceu a sua senha?

Área de Usuarios | Curriculos

Área do Usuario que deseja cadastrar seu curriculo e pesquisar vagas.



Cadastre-se gratuitamente
Esqueceu a sua senha?


Redes Sociais
Siga o Portal SOS Designers no Twitter Siga o Portal SOS Designers no Facebook

ASP


Você está aqui: Home » ASP » Livro de Visitas

Livro de Visitas


Pesquisar no Portal SOS Designers





Tempo Real



Siga o SOS Designers








pub_flash( 'http://www.sosdesigners.com/banners/mktdigital_flash_730x90.swf', 730, 90 ); " alt="Tecnoponta - 730 x 90 - MKT" />

Bom galera, hoje irei ensinar a criar um Livro de Visitas, não tem segredo, só tomar cuidado caso deixar habilitado cadastrar tags HTML, pois algum engraçadinho poderá cadastrar códigos maliciosos que poderá danificar a sua máquina, servidor e a máquina do usuário! Bom gente vamos ao danado.


Bom galera, hoje irei ensinar a criar um Livro de Visitas, não tem segredo, só tomar cuidado caso deixar habilitado cadastrar tags HTML, pois algum engraçadinho poderá cadastrar códigos maliciosos que poderá danificar a sua máquina, servidor e a máquina do usuário! Bom gente vamos ao danado.

Legendas:
HTML
ASP
Comentário HTML
Comentário ASP

Primeiramente iremos criar a página com o form, daqui iremos definir os campos desejados, campos obrigatórios ou não.
cn.asp

<%
'aqui iremos criar a conexão com o banco de dados
set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:É MeuAspAspAspLivro_de_Visitasdblivro.mdb;Persist Security Info=False"
%>

Agora iremos montar a página com os campos para ser efetuado o cadastro da mensagem:
assinar.asp

<style type="text/css">
<!--
.input {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 13px;
color: #000000;
text-decoration: none;
background-color: #eeeeee;
border: 1px dashed #666666;
}
-->
</style>
<style type="text/css">
<!--
.botao {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
text-decoration: none;
background-color: #dddddd;
border: 1px dotted #666666;
}
-->
</style>
</head>
<body>
<!--Aqui iremos montar o form com os campos necessários-->
<form action="postar.asp" method="post" name="livro" id="livro">
<table width="40%" height="270" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Assinar
Livro de Visitas</strong></font></div></td>
</tr>
<tr>
<td width="19%">&nbsp;</td>
<td width="81%">&nbsp;</td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Seu nome:</font></td>
<td><input name="nome" type="text" class="input" id="nome2" size="40"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sua idade:</font></td>
<td><input name="idade" type="text" class="input" id="idade2" size="2" maxlength="2"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Seu e-mail:</font></td>
<td><input name="email" type="text" class="input" id="email2" size="40"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Seu site:</font></td>
<td><input name="url" type="text" class="input" id="url" value="http://" size="40"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Pa&iacute;s:</font></td>
<td><input name="pais" type="text" class="input" size="20"></td>
</tr>
<tr>
<td colspan="2"><div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sua
mensagem:<br>
<textarea name="msg" cols="53" rows="10" class="input" id="textarea2"></textarea>
<br>
</font></div></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2"><div align="center"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Obs:</font><font color="#FF0000" size="2" face="Verdana, Arial, Helvetica, sans-serif">
HTML desabilitado, n&atilde;o use tags HTML</font></div></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2"> <div align="center">
<input name="Submit" type="submit" class="botao" value="Assinar" style="CURSOR: hand">
&nbsp;&nbsp;
<input name="Submit2" type="reset" class="botao" value="Limpar" style="CURSOR: hand">
</div></td>
</tr>
</table>
</form>
<!--Final Form-->
</body>
</html>

Agora iremos montar a página que recebe os dados enviados do form:
postar.asp

<style>
<!--
.link:link { color:black; font-family: verdana }
.link:active { color:black; font-family: verdana }
.link:hover { color:red; font-family: verdana }
a:visited { color:black; font-family: verdana }
-->
</style>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<!--include da conexão com o banco de dados-->
<!--#include file="cn.asp"-->
<%
'aqui iremos pegar as informações enviadas do form
nome = request("nome")
idade = request("idade")
email = request("email")
url = request("url")
pais = request("pais")
msg = request("msg")
data = Date
hora = Time
'--------------------Final request---------------------------
'aqui essa função TRIM, ele irá tirar todos os espaços
'das informaçoes passadas
'caso o usuário digitou " Ola " ele irá tirar os espaços
'e irá deixar assim "Ola"

nome = Trim(nome)
idade = Trim(idade)
email = Trim(email)
url = Trim(url)
pais = Trim(pais)
msg = Trim(msg)
'-------------------Final Trim-------------------------------
'aqui a Função Replace substitui um valor desejado por outro
'aqui nessa função ele irá trocar a aspa simples por nada

nome = Replace(nome,"'","")
idade = Replace(idade,"'","")
email = Replace(email,"'","")
url = Replace(url,"'","")
pais = Replace(pais,"'","")
msg = Replace(msg,"'","")
'-------------------Final Replace---------------------------
'aqui a função Server.HTMLEncode irá codificar
'as informações passadas, caso algum engraçadinho
'queira cadastrar códigos HTML

nome = Server.HTMLEncode(nome)
idade = Server.HTMLEncode(idade)
email = Server.HTMLEncode(email)
url = Server.HTMLEncode(url)
pais = Server.HTMLEncode(pais)
msg = Server.HTMLEncode(msg)
'-----------------Final Server.HTMLEncode-----------------
%>
<table border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#eeeeee">
<%
'agora iremos verificar se há algum campo vazio
'somente o campo Site não será obrigatório
'pois nem todos os usuários possuem página da internet

if nome = "" OR idade = "" OR email = "" OR pais = "" OR msg = "" then
%> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Ocorreu(am)
o(s) seguinte(s) erro(s):</b></font> <p>
<%
if nome = "" then
%>
<font size="2" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Campo
"<b>Nome</b>" em branco<br>
</font>
<%
end if
if idade = "" then
%>
<font size="2" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Campo
"<b>Idade</b>" em branco<br>
</font>
<%
end if
if email = "" then
%>
<font size="2" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Campo
"<b>E-mail</b>" em branco<br>
</font>
<%
end if
if pais = "" then
%>
<font size="2" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Campo
"<b>País</b>" em branco<br>
</font>
<%
end if
if msg = "" then
%>
<font size="2" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Campo
"<b>Mensagem</b>" em branco<br>
</font>
<%
end if
'------------------------final verificação de campos vazios------------------
%>
</td>
</tr>
<tr>
<td bgcolor="#eeeeee">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#eeeeee"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="javascript:history.go(-1)" class="link">Voltar</a></font></div></td>
</tr>
</table>
<%
'aqui mandamos para a tela caso estiver algum campo vazio
response.end
end if
'aqui verificamos se caso o usuário deixou em branco
'o campo SITE ele irá substituir o HTTP:// por nada

if url = "http://" then
url = ""
end if
'caso tudo ocorra nos conformes ele cadastra no banco de dados
'lembre-se sempre que qdo for cadastrar no banco de dados
'nunca cadastrar aspa simples pois na hora de tentar cadastrar ele dá erro

i = "insert into livro(nome,idade,email,pais,url,msg,data,hora) values('"&nome&"',"&idade&",'"&email&"','"&pais&"','"&url&"','"&msg&"','"&data&"','"&hora&"')"
'aqui mandamos executar a instrução de inclusão de dados
cn.Execute(i)
%>
<!--Mensagem de agradecimento-->
<center><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Obrigado por assinar o nosso livro de visitas.</font></center><p>
<center>
<a href="listar.asp" class="link"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ver
mensagens cadastradas</font></a>
</center>
<%
'fechamos a conexão
cn.Close
'Obs: qdo for fazer inclusão(insert) de dados
'alteração(UPDATE) e deletar(DELETE) não utiliza-se recordset
'somente qdo for selecionar no banco de dados(select)

%>

Agora a página que irá mostrar as msg cadastradas:
listar.asp

<style>
<!--
.link:link { color:black; font-family: verdana }
.link:active { color:black; font-family: verdana }
.link:hover { color:red; font-family: verdana }
a:visited { color:black; font-family: verdana }
-->
</style>
<!--aqui fazemos o include da conexão com o banco de dados-->
<!--#include file="cn.asp"-->
<%
'aqui iremos selecionar os campos
'da tabela livro do banco de dados
'repare que estou selecionando pela ordem
'da data decrescente
'isso irá retornar 1º a última msg postada

s = "select * from livro order by data DESC"
'aqui setamos o recordset e executamos a Instrução (s) acima
set ls = cn.Execute(s)
'agora iremos criar um recordset que irá
'fazer a contagem de registros no banco de dados

set rs = Server.CreateObject("ADODB.Recordset")
'a função que conta os registro é o Count(campo)
'nesse caso mandamos contar todos os campos
'mas poderia ser apenas o campo nome
'repare que eu atribui um apelido para o Count
'eu o apelidei de (conta)
'eu fiz isso para podermos usá-lo depois

rs.Open "select Count(*) as conta from livro", cn 'aqui mandamos abrir a conexão também
'aqui está o conta
'repare eu criei uma variável contar
'e igualei ao rs("conta"), pois foi o apelido do Count

contar = rs("conta")
'aqui iremos dar uma condião para ver se há msg no banco de dados
if contar < 1 then
%>
<center><font size="2" color="#FF0000" face="Verdana, Arial, Helvetica, sans-serif">Não há mensagem cadastrada no momento.</font></center>
<%
'caso essa condição for verdadeira ele para aqui
response.End
else
'ou então iremos montar a tabela com as msgs
%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#eeeeee">
<tr>
<td align="center" colspan="2"><font size="2" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Há
no momento <font color="#FF0000">
<!--Olha o danado do contar aqui, ele vai trazer a contagem exata de registros do banco de dados-->
<%=contar%>
</font> mensagens cadastradas.</font></td>
</tr>
<tr>
<td width="13%">&nbsp;</td>
</tr>
<%
'aqui mandamos mostrar na tela os registros
'enquanto não estiver no final da tabela do banco
'ele vai montando a tabela de msg

while NOT ls.EOF
%>
<tr>
<td height="25" colspan="2"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nome:
</font></strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<!--aqui colocamos o valor do campo NOME do banco de dados-->
<%=ls("nome")%>
</font></td>
</tr>
<tr>
<td height="25" colspan="2"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Idade:</font></strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<!--aqui colocamos o valor do campo IDADE do banco de dados-->
<%=ls("idade")%>
</font></td>
</tr>
<tr>
<td height="25" colspan="2"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">E-mail:</font></strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<!--aqui já iremos até mostrar como link o email do usuário que cadastrou a msg-->
<!--repare que eu coloquei a função LCase, isso irá deixar as letras tudo em minúsculas-->

<a href="mailto:<%=LCase(ls("email"))%>" target="_blank" class="link"><%=LCase(ls("email"))%></a>
</font></td>
</tr>
<tr>
<td height="25" colspan="2"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Site:</font></strong>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<%
'aqui damos a condição para verificar se o campo url
'está vazio ou não
'se estiver vazio irá mostrar msg de não informado

if ls("url") = "" then
%>
<font color="#FF0000">Não informado</font>
<%
'caso contrário mostra a url
else
%>
<a href="<%=LCase(ls("url"))%>" target="_blank" class="link"><%=LCase(ls("url"))%></a>
<%end if%>
</font></td>
</tr>
<tr>
<td height="25" colspan="2"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Pa&iacute;s:</strong></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<!--aqui colocamos o valor do campo PAÍS do banco de dados-->
<%=ls("pais")%>
</font></td>
</tr>
<tr>
<td height="25" colspan="2"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Adicionado
em</strong>
<!--aqui colocamos o valor da do campo DATA, a data de qdo foi postada a msg-->
<%=ls("data")%> <strong>&agrave;s</strong>
<!--e a hora em que foi cadastrada a msg-->
<%=ls("hora")%>
</font></td>
</tr>
<tr>
<td colspan="2"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Mensagem:</font></strong><br>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<!--aqui colocamos o valor da do campo MSG do banco de dados-->
<%=ls("msg")%>
</font> </td>
</tr>
<tr>
<td bgcolor="#CCCCCC" colspan="2">&nbsp;</td>
</tr>
<%
'aqui mandado ele pular para o próximo registro
'do banco de dados e fazer o mesmo procedimento acima

ls.MoveNext
'finalizamos o while
Wend
'finalizamos a condição do IF
End If
'fechamos os recordsets e a conexão
rs.Close
ls.Close
cn.Close
'e limpamos os mesmos
set rs = nothing
set ls = nothing
%>
</table>

Prontinho galera, agora é só se divertir, e quem quiser adicionar mais coisas será bom, pois é um sinal de que já está aprendendo algo. Espero que todos estejam satisfeitos com os artigos, e gostaria de receber mais sugestões! Galera até mais, e até o próximo artigo. Abraços fui.

Deixe seu comentário:





© Copyright 2002-2018
Portal SOS Designers
Webmaster: Luiz Antonio Bovi