<< voltar |  Indique esse tutorial para um amigo

 Tutoriais - ASP >> Criando um livro de visitas

Basicamente iremos precisar de uma base de dados na qual iremos armazenar os registros feitos pelos vistantes:
Vamos armazenar os seguintes dados:

ID O código de identificação do assinante
nome o nome do usuário que assinou o livro
email o email do assinante
mensagem a mensagem do visitante
data a data da assinatura do livro

Será necessário criar uma base de dados com uma tabela com os campos acima mencionados, usaremos então o
Access para criar o banco de dados visita.mdb e a tabela visitantes com a estrutura mencionada.(Ver figura abaixo)



O acesso a base de dados pode ser feito de 3 maneiras :
1- ) Usando um provedor OLE DB (iremos usar esta forma de acesso a base de dados).
Neste método usamos o seguinte código:

'cria uma instancia do objeto connection Set Conn = Server.CreateObject("ADODB.Connection") DB = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="& _ Server.MapPath("/visitas/visita.mdb") Conn.Open DB

2-) A segunda forma é usar um driver ODBC ( existem servidores que não suportam provedores OLE DB ).
Neste caso o código é o seguinte:

'cria uma instancia do objeto connection Set Conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &_ Server.MapPath("/visitas/visita.mdb")

3-) Podemos usar ainda um DSN (Data Source Name) para acessar os dados via objeto connection da ADO.
Como exemplo podemos criar o DSN com o nome de visitantes e usá-lo para o acesso a base de dados.
'cria uma instancia do objeto connection Set Conn = Server.CreateObject("ADODB.Connection") Conn.open "DSN=visitantes;uid=;pwd=;"

Nosso projeto usara somente um arquivo de script asp , o arquivo visitas.asp será o responsável pela funcionalidade do
nosso livro de visitas e um arquivo onde iremos reunir todas as funções JavaScript usadas para validar os dados ; o arquivo funcoes.asp que será um arquivo de inclusão. O arquivo ajuda.htm também será usado para exibir o conteúdo da ajuda ao usuário.
O código do arquivo funcoes.asp é o seguinte:

<script language="JavaScript">
function verifica_dados(form) {
var tamanho_pesquisa = new String()
tamanho_pesquisa = document.enviar.mensagem.value

if(EmBranco(form.nome) == true) {
alert("Por favor informe o seu nome.");
form.nome.focus();
return false;
}

if(EmBranco(form.email) == true) {
alert("O seu e-mail apresenta um formato inválido.");
form.email.focus();
return false;
}

if(tamanho_pesquisa.length > 200 ){
AvisoInvalido(document.enviar.mensagem,'ATENÇÃO: Sua mensagem deve conter no máximo 200 caracteres!\n\n');
return false;
}

if(EmBranco(form.mensagem) == true) {
alert("Deixe pelo menos uma palavra");
form.mensagem.focus();
return false;
}
} // fim da função

// Verifica se os campos foram preenchidos
function EmBranco(campo) {
if(campo.value == "")
return true;
else
return false;
}

/************************************************
* function AvisoInvalido
* Gera um alerta para o usuário
* volta o foco p/campo
* Input: theField - campo do formulário com problema
* warnText - texto a ser mostrado no alert
************************************************/
function AvisoInvalido (theField, warnText) {
theField.focus()
theField.select()
alert(warnText)
return false
}
</script>

<script language="JavaScript">
// funcao para obter ajuda
function ajuda(){
window.open('ajuda.htm','explica','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no, _ resizable=no,copyhistory=no,width=270,height=310,top=40,left=150');
}
</script>

As funções do arquivo fazem a validação da entrada de dados nos campos do formulário do site.   Ao acessar a página do nosso livro de visitas iremos mostrar os usuários que já assinaram o livro e a seguir
mostraremos o formulário que permitirá ao usuário informar os dados para assinar o livro.

Veja a seguir o código do arquivo visitas.asp comentado:

<%option explicit %> <!--#include file="funcoes.asp" -->
<%
'declara as variaveis
Dim nome Dim email
Dim mensagem Dim homepage Dim conn
Dim DB Dim rst Dim SQL
'cria uma instancia do objeto connection
Set Conn = Server.CreateObject("ADODB.Connection")
DB = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="& _ Server.MapPath("/visitas/visita.mdb")
Conn.Open DB '2-)Acesso usando um driver ODBC
'conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ=" & Server.MapPath("/visitas/visita.mdb") '

3-)Acesso usando um DSN chamado visitantes

'Conn.open "DSN=visitantes;uid=;pwd=;"
'cria uma instancia do objeto recordset
Set rst = Server.CreateObject("ADODB.Recordset")
if Request.ServerVariables("CONTENT_LENGTH")> 0 THEN SQL = "SELECT * FROM visitantes"
rst.Open SQL,Conn,1,2 rst.AddNew
rst("nome") = Request.form("nome") rst("email") = Request.form("email")
rst("mensagem") = Request.form("mensagem") rst("data") = day(now) & "/" & month(now) & "/" & year(now)
rst.Update rst.close end if
'ordenar o recordset pelo nome dos visitantes
SQL = "SELECT * FROM visitantes ORDER BY nome"
rst.Open SQL,Conn,1,2 %>
<HTML>
<HEAD>
<TITLE>Relação dos Visitantes</TITLE>
</HEAD>
<CENTER>
<body bgcolor="#00FFFF">
<table border="0">
<tr> <td><img src="logo_vb.gif" width="320" height="49"><font face="Comic Sans MS">
<em></em></font><font color="#004080" face="Comic Sans MS"><em>Jcm</em></font>
<font color="#FF0000" face="Comic Sans MS"><em>Soft</em></font>
<font color="#808040" face="Comic Sans MS"><em> / </em></font><font height="49">
<font face="Comic Sans MS"><em> </em></font><font color="#004080" face="Comic Sans MS">
<em>Banco </em></font><font color="#FF0000" face="Comic Sans MS"><em>de</em></font>
<font color="#004080" face="Comic Sans MS"><em> </em></font>
<font color="#808040" face="Comic Sans MS"><em>Dados</em></font>
<font color="#004080" face="Comic Sans MS"><em> </em></font>
<font color="#0080FF" face="Comic Sans MS"><em>na </em></font>
<font color="#FF8000" face="Comic Sans MS"><em>WEB</em></font></td> </tr> </table> <hr>
<p><font size="5" face="Comic Sans MS">Livro de Visitantes</font> <A href="javascript:ajuda()">
<IMG border=0<img src="livro.gif" width="67" height="39"></p></A> <table border="0" width="90%">
<tr> <td width="100%"> <div align="center"> <center> <table border="0" width="90%">
<% While Not rst.EOF %> <tr> <td width="100%" bgcolor="#CDCDCD">
<font face="Arial" size="2" color="green"> Assinado em</font><font color="black"><em>
<%=rst("data")%></em></font> <font face="Verdana" color="blue">por</font>
<font color="pink"><em><a href="mailto:<%=rst("email")%>"> <%=rst("nome")%></a><br></em></font>
<div align="center"><center> <table border="0" width="70%"> <tr> <td width="100%">
<p align="center">
<font color="black" size="2" face="Arial"> <i><%=rst("mensagem")%></i> </font></td></tr>
</table></center></div></td></tr>
<% rst.MoveNext wend rst.close conn.close set rst=nothing set conn=nothing %>
</table>
</center></div>
</td></tr>
</table>
</center>
</div>
<% 'inicializa as variáveis nome="" email="" mensagem="" homepage="" %>
<form name="enviar" method="POST" action="<%=Request.ServerVariables("SCRIPT_NAME")%>" _ onsubmit="return verifica_dados(this);"> <center> <Table bgcolor="aqua" border="0">
<tr><td> <b>Nome (*): </b> <input type="text" size="60" name="nome" value="<%=nome%>">
</td></tr> <tr><td> <b>E-Mail(*): </b> <input type="text" size="60" name="email" value="<%=email%>">
</td></tr> <tr></tr> <tr><td> <b>Mensagem :
<font color=blue>Obs: (*) Preenchimento obrigatório</font></b>
<textarea rows="3" name="mensagem" value="<%=mensagem%>" cols="60">
</textarea>
</td></tr><tr> <td>
<input type="submit" value="Assinar" name="B1">
<input type="reset" value="Limpar" name="B2">
</td></tr> </table> </form>
</center>
<hr>
</body>
</html>

Como funciona ?


1-) <%option explicit %> - Esta instrução obriga a que declaremos todas a variáveis usadas no projeto. ( boa prática ) 2-) <!--#include file="funcoes.asp" --> - Aqui estamos incluindo o arquivo funcoes.asp na página visitas.asp ,
com isto o código fica mais claro e a manutenção também.
3-) A seguir criamos um objeto Connection e definimos uma string de conexão.
Vamos usar o banco de dados visitas.mdb localizado no diretório database.
( Como estou hospedando os arquivos no servidor Phidji.com sou obrigado a usar o diretório database ).
A seguir abrimos a conexão com o banco de dados. 'cria uma instancia do objeto connection Set Conn = Server.CreateObject("ADODB.Connection")
DB = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="& _ Server.MapPath("/database/visita.mdb") Conn.Open DB
4-) Set rst = Server.CreateObject("ADODB.Recordset") - criamos a variável recordset - rst.
5-) O código abaixo irá fazer a inclusão dos dados do formulário na tabela visitantes.

if Request.ServerVariables("CONTENT_LENGTH")> 0 THEN SQL = "SELECT * FROM visitantes"
rst.Open SQL,Conn,1,2 rst.AddNew rst("nome") = Request.form("nome")
rst("email") = Request.form("email") rst("mensagem") = Request.form("mensagem")
rst("data") = day(now) & "/" & month(now) & "/" & year(now) rst.Update
rst.close end if

6-) A seguir usamos a instrução : While Not rst.EOF / Wend para percorrer a tabela e exibir todos os registros na tela do site.
7-) O formulário para preencher os dados é montado usando o seguinte código:(Observe o uso das tags <%=campo%> )
<form name="enviar" method="POST" action="<%=Request.ServerVariables("SCRIPT_NAME")%>" _ onsubmit="return verifica_dados(this);">
<center>
<Table bgcolor="aqua" border="0">
<tr><td>
<b> Nome (*): </b><input type="text" size="60" name="nome" value="<%=nome%>">
</td></tr><tr><td> <b>
E-Mail(*): </b> <input type="text" size="60" name="email" value="<%=email%>">
</td></tr><tr></tr> <tr><td> <b>
Mensagem : <font color=blue>
Obs: (*) Preenchimento obrigatório</font></b>
<textarea rows="3" name="mensagem" value="<%=mensagem%>" cols="60"></textarea>
</td></tr><tr><td>
<input type="submit" value="Assinar" name="B1">
<input type="reset" value="Limpar" name="B2"> </td></tr>
</table>
</form>



 

<< voltar |  Indique esse tutorial para um amigo

Comentarios
Nome:.(Max50)
Comentario:.(Max1000)
Não existe nenhum comentario postado neste tutorial. Seja voce o primeiro a comentar!







© 2008-2010 Ajuda24h.net Todos os Direitos Reservados