NOTÍCIA

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
Email 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!

Matérias especiais e reportagens conduzidas internamente pela Redação iMasters. Acompanhe no Twitter @imasters e no Instagram/Threads @portalimasters

Ver perfil