Criando um livro de visitas em ASP
Existem inúmeras maneiras
e recursos para criar um livro de visitas (Guestbook)
e apresento um deles à vocês!
Para o Guestbook funcionar, você
precisará de obedecer a 2 passos fundamentais:
1. Criar a Base de Dados com a seguinte estrutura
:
| Guestbook | |
|---|---|
| ID | Autonumber |
| Date | Date/Time |
| nameAs | Text |
| Text | |
| Message | Text |
2. Escrever o código necessário!
🙂
Vamos lá!
Ficheiro: Guestbook.asp
Este será o único ficheiro do exemplo, que irá
possibilitar a criar seu Guestbook.
<%
Dim cxnome
Dim cxemail
Dim cxmensagem
Dim OK
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DSN=DSNCONNECCAO;" ' a conexão ODBC a
'criar na máquina
' pode usar conexões DSNLess
Set rs = Server.CreateObject("ADODB.Recordset")
OK = 1 ' OK é para controlo de validação
' irá então validar o e-mail
If Len(Request.form("cxemail")) > 0_
and Len(Request.form("cxemail")) < 5 Then
OK = 0
Else
If InStr(1, Request.form("cxemail"), "@", 1) < 2 Then
OK = 0
Else
If InStr(1,Request.form("cxemail"), ".", 1) < 4 Then
OK = 0
End If
End If
End If
'depois de validado o e-mail vamos validar o resto das entradas
if len(Request.form("cxnome")) < 1 then
OK = 0
end if
if len(Request.form("cxmensagem"))<= 8 then
OK = 0
end if
'se tudo estiver ok vamos introduzir no BD
if OK = 1 then
Set rs2 = Server.CreateObject("ADODB.Recordset")
' esta é a maneira mais simples de introdução
' de dados no BD, mas é bom conhecer outras maneiras
SQLStmt = "SELECT * FROM guestbook"
rs2.Open SQLstmt,Conn,1,2
rs2.AddNew
' vamos buscar a informação do nome do form
nome_ = Request.form("cxnome")
' vamos formatar as tags de HMTL
nome_ = Server.HTMLEncode(nome_)
' retiramos as pelicas para não haverem problemas com o BD
nome_ = Replace(nome_, "'", "")
rs2("nome") = nome_
email_ = Request.form("cxemail")
email_ = Server.HTMLEncode(email_)
email_ = Replace(email_, "'", "")
rs2("email") = email_
mensagem_ = Request.form("cxmensagem")
mensagem_ = Server.HTMLEncode(mensagem_)
mensagem_ = Replace(mensagem_, "'", "")
rs2("mensagem") = mensagem_
rs2("data") = day(now) & "/" & month(now) & "/" & year(now)
rs2.Update
rs2.Close
end if
' agora vamos buscar as mensagens na Base de Dados
' ordenadas por data
SQLStmt = "SELECT * FROM guestbook ORDER BY id DESC"
rs.Open SQLstmt,Conn,1,2
%>
<html>
<head>
<title>Livro de Visitas</title>
</head>
<body
BGCOLOR="#385FC6"
TEXT="#000000"
LINK="#0000FF"
ALINK="#FF0000"
VLINK="#C0C0C0">
<div align="center"><center>
<table border="0" width="90%">
<tr>
<td width="100%"><div align="center"><center>
<table border="0" width="90%">
<%While Not rs.EOF%>
<tr>
<td width="100%" bgcolor="#000080">
<font face="Arial" color="#E7F4D8"><strong>Enviado em </strong>
</font><big><font
color="#00FF00"><em><%=rs("data")%> </em></font></big>
<font face="Arial"
color="#E7F4D8"><strong>por </strong>
</font><font color="#00FF00"><em>
<a href="mailto:<%=rs("email")%>"><big><%=rs("nome")%></big></a>
<br>
</em></font><div align="center"><center>
<table border="0" width="70%">
<tr>
<td width="100%"><p align="center">
<font color="#FFFF80" face="Arial">
<strong><%=rs("mensagem")%></strong></font></td>
</tr>
</table>
</center></div></td>
</tr>
<%
rs.MoveNext
wend
rs.close%>
</table>
</center></div></td>
</tr>
</table>
</center></div>
<%
cxnome=""
cxemail=""
cxmensagem=""
%>
<form name="gbsend" method="POST" action="guestbook.asp">
<p><font face="Arial"><strong>
<font color="#E7F4D8"> Nome :</font> </strong></font>
<input type="text" name="cxnome" value="<%=cxnome%>" size="20">
<br> <br>
<font face="Arial" color="#E7F4D8">
<strong> E-Mail : </strong></font>
<input type="text" name="cxemail" value="<%=cxemail%>" size="20">
<br>
<font face="Arial" color="#E7F4D8"><strong><br>
Mensagem :<br></strong></font>
<textarea rows="3" name="cxmensagem"
value="<%=cxmensagem%>" cols="38">
</textarea></p>
<p>
<input type="submit" value=" Assinar " name="B1">
<input type="reset" value=" Reset " name="B2"></p>
</form>
</body>
</html>
Um abraço a todos usuários
iMasters e boa programação. Qualquer cosia
que precisarem, estamos por aqui!







