Neste artigo, veremos como ter sistemas administrativos, onde poderemos fazer Login e entrar na parte administrativa de um site. Aí teremos uma página de administração, onde será possível pesquisar, incluir, excluir, atualizar e, caso o user tenha esquecido sua senha, recupera-la. Começaremos pela estrutura de banco de dados↳Banco de dados134 conteúdosSQL ou NoSQL: eis a questão!!Data · mar 2020Banco de dados: como organizar e dar segurança para milhões de dados de loteriasData · mai 20215 serviços gratuitos na cloud para bancos de dados PostgresData · fev 2025Ver tudo em Data →. Hoje utilizaremos o MS Access, com um banco chamado quaddra e a tabela de Login, segue abaixo:
Tabela – login:
- Login – Texto – login do user (cliente)
- Email – Texto – email do user para quando esquecer senha ,ter um campo a + p/ procura
- Senha – Texto – senha do user
- Código – Numeração Automática – codigo para identificar o user
Vamos começar com o formulário para efetuar o login.
Logincli_form_triena.asp
<% Option Explicit <br />'declara as var<br />dim varmsgeof, bc, data<br />'recupera a msgeof do erro no login_action<br />varmsgeof=request.querystring("msgeof")%><br /><br /><script language="javascript"><br />function novajan(){<br />window.open ("erro_treina.asp","Erro","width=240,height=240,scrollbar=no,status=yes,resize=no")<br />}<br /></script><br /><script language="JavaScript"><br />function novajan1(){<br />window.open("terminar_treina.asp","Encerrar", "width=260,height=240,status=yes,scroolbars=no,toolbar=no")}<br /></script><br /><script language="JavaScript"><br />function novajan2(){<br />window.open("efetuarlog_treina.asp","Encerrar", "width=150,height=240,status=yes,scroolbars=no,toolbar=no")}<br /></script><br /><%<br />Select case varmsgeof<br />case 1 'login vazio<br />response.write("<script>novajan();</script>")<br />case 2 'senha vazia<br />response.write("<script>novajan();</script>")<br />case 3 'login inválido<br />response.write("<script>novajan();</script>")<br />case 4 'senha incorreta<br />response.write("<script>novajan();</script>")<br />case 5'se user jah logado<br />response.write("<script>novajan();</script>")<br />case 6 ' user naun está logado,por isso naun tem permissaun para entrar em atualizacaun/suporte<br />response.write("<script>novajan2();</script>")<br />end select %><br /><br /><HTML><br /><HEAD><br /><TITLE>Login Clientes</TITLE><br /><script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script><br /><BODY bgColor=#ffffff leftMargin=18 topMargin=12><br /><table width="100%" border="0" height="445"><br /> <tr> <br /> <td height="378"> <p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#666666"><b><font color="#336699">:: <br /> Senhores Clientes para sua maior <br><br /> segurança solicitamos sua identificação <br><br /> para poder ter acesso a área restrita a você.</font></b></font><font face="Arial, Helvetica, sans-serif" size="1" color="#666666"><b> <br /> </b></font></p><br /> <p> </p><br /> <form name="form1" method="post" action="logincli_action_treina.asp"><br /> <table width="85%" border="0" cellspacing="0" cellpadding="0" bgcolor="#336699"><br /> <tr bgcolor="#666666"> <br /> <td width="4%" bgcolor="#666699"><img src="imgs/curva.gif" width="10" height="19"></td><br /> <td width="96%" bgcolor="#336699"> <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"><b><font size="3">:: <br /> </font>Porfavor efetue seu login</b></font></div></td><br /> </tr><br /> <tr bgcolor="#666666"> <br /> <td width="4%" bgcolor="#336699"> </td><br /> <td width="96%" bgcolor="#336699"> </td><br /> </tr><br /> </table><br /> <table width="85%" border="0" cellspacing="0"><br /> <tr bgcolor="#336699"> <br /> <td colspan="3"><font color="#e6e6e6" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b> Login: <br /> <br /> <input name=login size="12" maxlength="12"><br /> </b></font></td><br /> </tr><br /> <tr bgcolor="#336699"> <br /> <td colspan="3"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#e6e6e6"><b> Senha: <br /> <input type=password name=senha size="12" maxlength="12"><br /> <span class="preto"> <br /> <input type="image" border="0" name="imageField" src="imgs/enviar.gif" width="87" height="22"><br /> </span></b></font></td><br /> </tr><br /> <tr bgcolor="#336699"> <br /> <td height="2" width="41%"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#e6e6e6"><strong>Esqueceu <br /> a senha clike <a href="esqsenha_form_treina.asp">Aqui</a></strong></font></div></td><br /> <td width="42%"><div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#e6e6e6"><b>Para <br /> efetuar Logo-off clique</b></font></div></td><br /> <td height="2" width="17%"><script type="text/javascript"><br />AC_FL_RunContent( 'codigobase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0','width','35','height','19','src','logoff','quality','high','pluginspage','http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash','scale','exactfit','bgcolor','#336699','movie','logoff' ); //end AC codigo<br /> </script><br /> <noscript><br /> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codigobase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="35" height="19"><br /> <param name=movie value="logoff.swf"><br /> <param name=quality value=high><br /> <param name="BGCOLOR" value="#336699"><br /> <param name="SCALE" value="exactfit"><br /> <embed src="logoff.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" scale="exactfit" width="35" height="19" bgcolor="#336699"> </embed><br /> </object><br /> </noscript> </td><br /> </tr><br /> </table><br /><br /> </form><br /> </td><br /> </tr><br /></table><br /></BODY></HTML>Percebam que neste código temos um Select Case que, conforme a querystring retornada, exibirá uma determinada mensagem de erro. Quando a mensagem for exibida, ela se auto-fechará depois de 10 mil milisegundos, isso devido a chamarmos a função em Javascript↳JavaScript116 conteúdosJavaScript em 2020: O que esperarDev (Back & Front) · jan 2020Campos públicos e privados em classes JavaScript – O que vem por aí no ESNextDev (Back & Front) · abr 201929 anos de JavaScript!Dev (Back & Front) · jan 2025Ver tudo em Dev (Back & Front) → fechapop na página de erro, que utilizamos o function window.setTimeout, invocando um window.close. Cada Case retornado é um erro, passado a uma variável por querystring.Abaixo o Select Case.
Select case varmsgeof<br />case 1 'login vazio<br />response.write("<script>novajan();</script>")<br />case 2 'senha vazia<br />response.write("<script>novajan();</script>")<br />case 3 'login inválido<br />response.write("<script>novajan();</script>")<br />case 4 'senha incorreta<br />response.write("<script>novajan();</script>")<br />case 5'se user jah logado<br />response.write("<script>novajan();</script>")<br />case 6 ' user naun está logado,por isso naun tem permissaun para entrar em atualizacaun/suporte<br />response.write("<script>novajan2();</script>")<br />end select %>Abaixo o código que irá efetuar o login.
Para efetuar a conexão usamos um outro aqruivo que contem uma sub que é invocada no código para realizar a conexão:
Conexao1.asp
<% '----------------------<br />' este arq. serve para estabelecer a conexao com o BD em Access<br />' de nome quaddra.mdb <br />sub abreconexao<br />constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("db/quaddra.mdb")<br />Set conexao=Server.CreateObject("ADODB.Connection")<br />conexao.open constring<br />end sub<br /><br />sub fechaconexao<br />set conexao=nothing<br />end sub<br />%>LoginCli_action_treina.asp
<% Option Explicit<br />'declara as var<br />dim varsenha, varlogin, conexao ,rs, SQL, conDBQ, constring, rsselect, sqlselect, rsinsert, sqlinsert, rsupdate, sqlupdate,data<br />'recupera as var<br />varlogin=Trim(request.form("login"))<br />varsenha=Trim(request.form("senha"))<br />varlogin=Replace(varlogin,"'","")<br />varsenha=Replace(varsenha,"'","")<br />if varlogin="" then<br />response.redirect("logincli_form_treina.asp?msgeof=1")<br />end if<br />if varsenha="" then<br />response.redirect("logincli_form_treina.asp?msgeof=2")<br />end if<br />if Session("logado")=True then<br />response.redirect("logincli_form_treina.asp?msgeof=5")<br />end if <br />%><br /><!--#include file="conn/conexao1.asp"--><br /><%<br /> call abreconexao<br />'cria o recordset<br />Set rs=Server.CreateObject("ADODB.Recordset")<br />SQL="SELECT * FROM login WHERE login='"&varlogin&"'"<br />rs.open SQL,conexao,1,3<br /> if rs.eof then<br /> response.redirect("logincli_form_treina.asp?msgeof=3")<br /> else<br /> if Lcase (varsenha) <> Lcase(rs("senha")) then<br /> response.redirect("logincli_form_treina.asp?msgeof=4")<br /> session("logado")=False<br /> else<br /> session("logado")=True<br /> session("senha")=varsenha<br /> session("login")=varlogin<br /> response.Redirect("administracao_treina.asp")<br /> end if<br /> end if<br />set rs=nothing<br />call fechaconexao%>Para esta tarefa, usamos uma string SQL SELECT para selecionar os dados.
“SELECT * FROM login WHERE login='”&varlogin&”‘”
A cláusula WHERE é usada para extrair apenas os registros que cumprir um determinado critério.
SQL WHERE Sintaxe
SELECT column_name(s)
FROM table_name
WHERE column_name operator value
Após conseguir realizar o login , o user será redirecionado para a página de administração, onde poderá selecionar os dados, excluir,atualizar e pesquisar.
Administração_treina.asp
<%response.buffer=true%><br /><%<br />'------------------------------------------------------------------------------------------------<br />' Este ASP exibe td´z as opçoes para o admin fazer o controle de seu <br />' usuarios podendo ter total controle no BD<br />'------------------------------------------------------------------------------------------------<br />%><br /><br /><HTML><br /><HEAD><br /><TITLE>Administração</TITLE><br /><br /><script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script><br /></HEAD><br /><br /><br /><br /><BODY bgColor=#ffffff leftMargin=18 topMargin=12><br /><RightClick> <FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="2" COLOR="#666666"><B><FONT COLOR="#336699">:: <br />Aqui você poderá administrar sua conta, e navegar nas áreas <br />restritas a você cliente.<BR> </FONT> <BR> <BR> <BR> <BR> <BR> </B></FONT> <br /><P><FONT FACE="Arial, Helvetica, sans-serif" SIZE="1"><B><br /><br /> <% 'declaro as var.<br /> dim conexao, varmsg, rs, SQL, conDBQ, constring, varmsgeof, varloginsession, data<br /><br /> 'recupero as var.<br /> varmsgeof=request.querystring("msgeof")<br /> varmsg=request.querystring("msg")<br /> varloginsession=Session("login")<br /> %> <br /><br /> <script LANGUAGE="JavaScript"><br />function novajan3(){<br />window.open ("proibidox.asp","Proibido","width=180,height=200,scrollbar=no,status=yes,resize=no")<br />}<br /></SCRIPT> <script LANGUAGE="JavaScript"><br />function novajan2(){<br />window.open ("proibido.asp","Erro","width=180,height=200,scrollbar=no,status=yes,resize=no")<br />}<br /></SCRIPT> <script LANGUAGE="JavaScript"><br />function novajan(){<br />window.open ("sucesso_treina.asp","Login","width=180,height=200,scrollbar=no,status=yes,resize=no")<br />}<br /></SCRIPT> <% Select case varmsgeof <br /> case 11 'sem ser o admin - xanburzum gera o erro<br /> response.write("<script>novajan2();</script>")<br /> case 12 ' proibido excluir-me, o admin<br /> response.write("<script>novajan3();</script>")<br /> end select<br /><br /> Select case varmsg<br /> case 1 'mensagem de sucesso do incluir<br /> response.write("<script>novajan();</script>")<br /> case 2 ' mensagem de sucesso do atualizar<br /> response.write("<script>novajan();</script>")<br /> case 3 'mensagem de sucesso do excluir<br /> response.write("<script>novajan();</script>")<br /> end select<br /><br /><br /> 'crio a conexao%><br /> <!--#include file="conn/conexao1.asp"--> <br /><% call abreconexao<br /><br /> 'crio o rs<br /> set rs=Server.CreateObject("ADODB.Recordset")<br /> 'crio o SQL<br /> SQL="SELECT * FROM login ORDER BY login"<br /> rs.open SQL,conexao,1,3<br /> %><br /> </B></FONT></P><TABLE WIDTH="95%" BORDER="0" CELLPADDING="0" CELLSPACING="0" BGCOLOR="#666666" ALIGN="center"> <br /><TR BGCOLOR="#336699"> <TD WIDTH="2%"> <DIV ALIGN="left"><B><IMG SRC="file:///A|/asp/imgs/curva.gif" WIDTH="10" HEIGHT="19"></B></DIV></TD><TD WIDTH="98%"> <br /><DIV ALIGN="center"><B><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="2" COLOR="#FFFFFF">:: <br />Seja Bem-Vindo <%=Ucase(varloginsession)%></FONT></B></DIV></TD></TR> <TR BGCOLOR="#336699"> <br /><TD HEIGHT="10" COLSPAN="2"> <DIV ALIGN="center"><B><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#66ffff">Administração <br />de Usuários</FONT></B></DIV></TD></TR> <TR BGCOLOR="#336699"> <TD COLSPAN="2" HEIGHT="2"> </TD></TR> <br /><TR BGCOLOR="#336699"> <TD COLSPAN="2" HEIGHT="16"> <DIV ALIGN="right"><A HREF="pesquisa_form_treina.asp"><IMG SRC="imgs/busca2.gif" BORDER="0" ALT="Pesquisar na base de dados" WIDTH="78" HEIGHT="21"></A> </DIV></TD></TR> <br /><TR BGCOLOR="#336699"> <TD COLSPAN="2" HEIGHT="2"> <DIV ALIGN="right"><br /> <script type="text/javascript"><br />AC_FL_RunContent( 'codigobase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0','width','80','height','20','src','incluir','quality','high','pluginspage','http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash','bgcolor','#336699','base','.','movie','incluir' ); //end AC codigo<br /></script><noscript><OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODIGOBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" WIDTH="80" HEIGHT="20"><br /> <PARAM NAME="BGCOLOR" VALUE="#336699"><br /> <PARAM NAME="BASE" VALUE="."><br /> <PARAM NAME=movie VALUE="incluir.swf"><br /> <PARAM NAME=quality VALUE=high><br /> <EMBED SRC="incluir.swf" QUALITY=high PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" TYPE="application/x-shockwave-flash" WIDTH="80" HEIGHT="20" BGCOLOR="#336699" BASE="."> <br /> </EMBED> </OBJECT></noscript><br /> </DIV></TD></TR> </TABLE><TABLE WIDTH="95%" BORDER="1" BORDERCOLOR="#666666" BGCOLOR="#e6e6e6" ALIGN="center"> <br /><TR> <TD WIDTH="16%"> <DIV ALIGN="center"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#666666"><B>Login</B></FONT></DIV></TD><TD WIDTH="15%"> <br /><DIV ALIGN="center"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#666666"><B>Senha</B></FONT></DIV></TD><TD WIDTH="25%"> <br /><DIV ALIGN="center"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#666666"><B>Email</B></FONT></DIV></TD><TD WIDTH="20%"> <br /><DIV ALIGN="center"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#666666"><B>Atualizar</B></FONT></DIV></TD><TD WIDTH="24%"> <br /><DIV ALIGN="center"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#666666"><B>Excluir</B></FONT></DIV></TD></TR> <br /><% while not rs.eof%> <br /><TR> <TD WIDTH="16%"> <DIV ALIGN="center"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#000000"><B><%=rs("login")%></B></FONT></DIV></TD><TD WIDTH="15%"> <br /><DIV ALIGN="center"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#000000"><B><%=rs("senha")%></B></FONT></DIV></TD><TD WIDTH="25%"> <br /><DIV ALIGN="center"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#000000"><B><%=rs("email")%></B></FONT></DIV></TD><TD WIDTH="20%"> <br /><DIV ALIGN="center"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#000000"><B><A HREF="atualizar_form_treina.asp?codigo=<%=rs("codigo")%>">Atualizar</A></B></FONT></DIV></TD><TD WIDTH="24%"> <br /><DIV ALIGN="center"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1" COLOR="#000000"><B><A HREF="excluir_form_treina.asp?codigo=<%=rs("codigo")%>">Excluir</A></B></FONT></DIV></TD></TR> <br /><% rs.movenext<br /> wend<br /> set rs=nothing<br /> call fechaconexao<br />%> </TABLE><P><BR></P></RightClick> <br /></BODY></HTML>Para atualizar, passamos no link a pagina de atualização junto com o código de ID do cliente, assim ,quando clicado, ele passará para uma pagina, os dados via querystring que será recuperado para posteriormente uma nova consulta.
<A HREF=”atualizar_form_treina.asp?codigo=<%=rs(“codigo”)%>”>Atualizar</A>
O mesmo será feito para excluir.
Atualizando os Dados
Como mencionado acima, na página de administração é formado dentro de um loop os dados do cliente, juntamente com um link para atualização, onde passamos o ID do cliente em um link, que recuperamos para poder exibir os dados corretos do mesmo.
Atualizar_form_treina.asp
<% 'aplicaçao para atua;izar os dados do usuário na base de dados do access<br /> 'onde através do request.querystring do código ,faremos uma SELECT (SQL)<br /> 'e jogaremos no value do form ,sendo postado através do post pra<br /> 'atualizar_action.asp k fará o UPDATE<br /><br /> Option explicit<br /> 'declaro as var<br /> dim conexao, conDBQ, constring, rs, SQL, varcodigo<br /> 'recupero a var<br /> varcodigo=request.querystring("codigo")<br /><br /> 'crio a conexao <br /> ' pasta conn dentro de wwwroot<br /> %><br /><!--#include file="conn/conexao1.asp"--><br /> <%call abreconexao<br /> 'crio o recordset<br /> set rs=Server.CreateObject("ADODB.Recordset")<br /> SQL="SELECT * FROM login WHERE codigo="&varcodigo&""<br /> rs.open SQL,conexao,1,3<br /> 'crio o form para jogar os rs'z no value %> <br /><html><br /><head><br /><title>Atualização de Usuários</title><br /></head><br /><body bgcolor="#FFFFFF" text="#000000" link="#FFFFFF" vlink="#0000FF" alink="#FF0000"><br /><table width="75%" border="0" cellpadding="0" cellspacing="0" align="center"> <br /><tr> <td width="2%" bgcolor="#666666"> <div align="center"><b><img src="file:///A|/asp/imgs/curva.gif" width="10" height="19"></b></div></td><td width="98%" bgcolor="#336699"> <br /><div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="3" color="#FFFFFF">:: <br /></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Atualizar <br />Dados do Usuário</font></b></div></td></tr> <tr bgcolor="#336699"> <td colspan="2" height="19"> </td></tr> <br /><tr bgcolor="#336699"> <td height="72" colspan="2"><br /> <form name="form1" method="post" action="atualizar_action_treina.asp"> <br /><p><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#e6e6e6">Login:</font></b> <br /><input type="text" name="login" size="12" maxlength="12" value="<%=rs("login")%>"> <br /><input type="hidden" name="codigo" value="<%=rs("codigo")%>"> </p><p><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#e6e6e6">Email:</font><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"> <br /><input type="text" name="email" size="48" maxlength="48" value="<%=rs("email")%>"> <br /></font></b></p><p><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#e6e6e6">Senha:</font><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"> <br /><input type="password" name="senha" size="8" maxlength="8" value="<%=rs("senha")%>"> <br /></font></b></p><p align="center"> <br /> <input type="image" border="0" name="imageField" src="imgs/enviar.gif" width="87" height="22"> <br /></p></form></td></tr><br /> <% 'FECHO O RS<br /> set rs=nothing<br /> 'fecha a conexao<br /> call fechaconexao%> </table><br /></body><br /></html>Após exibir os dados corretos em um form, agora vamos atualizá-lo com os novos dados digitados pelos user. Para atualizar os dados usando a SQL UPDATE é usada para atualizar os registros existentes em uma tabela.
SQL UPDATE Sintaxe
UPDATE table_name
SET column1=value, column2=value2,…
WHERE some_column=some_value
A cláusula WHERE especifica qual registro ou registros que devem ser atualizadas. Se você omitir a cláusula WHERE, todos os registros serão atualizados
Atualizar_action_treina.asp
<% 'aplicacaun para fazer o update dos dados do form atualizar_form.asp<br /> 'onde recupero todos os dados dos campos do form,dou um replace nos ' por ""<br /> 'e crio a SQL para efetuar o update depois redireciono p/ administracao.asp<br /> ' com passagem de parametro na URL msg=2<br /><br /> option explicit<br /> 'declaro as var<br /> dim conexao, conDBQ, constring, rs, SQL, varcodigo, varlogin, varsenha, varemail<br /> 'recupero as var<br /> varcodigo=trim(request.form("codigo"))<br /> varlogin=trim(request.form("login"))<br /> varsenha=trim(request.form("senha"))<br /> varemail=trim(request.form("email"))<br /> ' retiro qqer erro de digitaçao do user ,no caso ( aspas simples ')<br /> varlogin=replace (varlogin,"'","")<br /> varsenha=replace (varsenha,"'","")<br /> varemail=replace(varemail,"'","")<br /> 'crio a conexao%><br /> <!--#include file="conn/conexao1.asp"--><br /> <% 'abro a conexao<br /> call abreconexao<br /> 'crio o rs<br /> set rs=Server.createobject("ADODB.Recordset")<br /> 'crio a SQL<br /> SQL="UPDATE login SET login='"&varlogin&"',senha='"&varsenha&"',email='"&varemail&"' WHERE codigo="&varcodigo&""<br /> rs.open SQL,conexao,1,3<br /> if session("login") = "admin" then<br /> response.redirect("administracao_treina.asp?msg=2")<br /> else<br /> response.redirect("administracao1.asp?msg=2")<br /> end if<br /> 'fecho o rs<br /> set rs=nothing<br /> 'fecho a conexao<br /> call fechaconexao%>Vejam também, que após realizar a atualização, o user é redirecionado para a pagina de administração, com um parâmetro na querystring, que será recuperado e exibido uma mensagem de sucesso.
Excluindo Dados
O mesmo conceito é usado para excluir os dados.
<% 'excluir_form.asp recebe o codigo pela url, dou um request.querystring<br /> 'e atribuo a varcodigo para poder fazer a SQL,monto um form com um input<br /> ' type hidden para passar o codigo para excluir_action.asp ( action do form)<br /><br /> option explicit<br /> 'declaro as var<br /> dim conexao, conDBQ, constring, rs, SQL, varcodigo<br /> 'recupero a var<br /> varcodigo=request.querystring("codigo")<br /> if session("login") <> "admin" then<br /> response.redirect("administracao.asp?msgeof=11")<br /> else<br /> 'crio a conexao%><br /> <!--#include file="conn/conexao1.asp"--><br /> <% 'abro a conexao<br /> call abreconexao<br /> 'crio o rs<br /> set rs=Server.CreateObject("ADODB.Recordset")<br /> 'crio a SQL<br /> SQL="SELECT * FROM login WHERE codigo="&varcodigo&""<br /> rs.open SQL,conexao,1,3%><br /><br /><html><br /><head><br /><title>Excluir Usuário</title><br /></head><br /><body bgcolor="#FFFFFF" text="#000000"><br /><table width="79%" border="0" bgcolor="#336699" cellpadding="0" cellspacing="0"> <br /><tr> <td width="2%"> <div align="center"><b><img src="file:///A|/asp/imgs/curva.gif" width="10" height="19"></b></div></td><td width="98%"> <br /><div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="3" color="#FFFFFF">:: <br /></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Excluir <br />Usuário</font></b></div></td></tr> <tr> <td colspan="2"> <div align="center"></div><div align="center"></div><div align="center"></div><div align="center"></div></td></tr> <br /></table><table width="79%" border="0" cellpadding="0" cellspacing="0" bgcolor="#336699"> <br /><tr> <td bgcolor="#336699" height="112"><br /> <form name="form1" method="post" action="excluir_action_treina.asp"> <br /><input type="hidden" name="codigo" value="<%=rs("codigo")%>"> <table width="100%" border="1" bordercolor="#e6e6e6"> <br /><tr> <td width="19%"> <div align="center"><font color="#E6e6e6"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Código</font></b></font></div></td><td width="24%"> <br /><div align="center"><font color="#E6e6e6"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Login</font></b></font></div></td><td width="22%"> <br /><div align="center"><font color="#E6e6e6"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Senha</font></b></font></div></td><td width="35%"> <br /><div align="center"><font color="#E6e6e6"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Email</font></b></font></div></td></tr> <br /><tr> <td width="19%"> <div align="center"><font color="#33CCFF"><b><font size="1"><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif"><%=rs("codigo")%></font></font></font></b></font></div></td><td width="24%"> <br /><div align="center"><font color="#33CCFF"><b><font size="1"><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif"><%=rs("login")%></font></font></font></b></font></div></td><td width="22%"> <br /><div align="center"><font color="#33CCFF"><b><font size="1"><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif"><%=rs("senha")%></font></font></font></b></font></div></td><td width="35%"> <br /><div align="center"><font color="#33CCFF"><b><font size="1"><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif"><%=rs("email")%></font></font></font></b></font></div></td></tr> <br /><%'fecha o rs<br /> set rs=nothing<br /> 'fecha a conexao<br /> call fechaconexao<br /> end if%> </table><p align="center"> <br /> <input type="image" border="0" name="imageField" src="imgs/enviar.gif" width="87" height="22"> <br /></p></form></td></tr> </table><br /><p> </p><p> </p><p> </p><br /></body><br /></html>Nesta exclusão, antes de efetuar verificamos se o user está querendo excluir o “admin”, caso o user seja igual ao admin, ele é redirecionado para a pagina de administração com uma mensagem de erro. Aqui usamos a SQL DELETE é usada para excluir linhas em uma tabela.
SQL DELETE Sintaxe
DELETE FROM table_name
WHERE some_column=some_value
Observe a cláusula WHERE na sintaxe DELETE. A cláusula WHERE especifica qual registro ou registros que deveriam ser suprimidas. Se você omitir a cláusula WHERE, todos os registros serão apagados!
Excluir_action_terina.asp
<% 'aplicacaun para excluir os dados da base de dados do access,onde recupero<br /> 'o codigo passado pelo excluir_form.asp do hidden,que no mesmo jah verifica <br /> 'se o session = do admin (xanburzum);<br /> 'depois de recuperar o codigo crio a conexao, o rs , o SQL dois SQL'z<br /> 'um para selecionar o login para verificar se é o admin o outro<br /> 'para executar a exclusaun e abro<br /> 'se o rs("login") = xanburzum redireciono para administracao?msgeof=12<br /> 'onde lá receberá uma popup k naun pode me excluir,senaun executa o sql<br /><br /> Option explicit<br /> 'declaro as var<br /> dim conexao, conDBQ, constring, rs, SQL, rsdel, SQLdel, varcodigo<br /> 'recupero a var<br /> varcodigo=Trim(request.form("codigo"))<br /> 'crio a conexao %><br /> <!--#include file="conn/conexao1.asp"--><br /> <% 'abro a conexao<br /> call abreconexao<br /> 'crio o rs<br /> set rs=server.createobject("ADODB.Recordset")<br /> 'crio o SQL<br /> SQL="SELECT login FROM login WHERE codigo="&varcodigo&""<br /> rs.open SQL,conexao,1,3<br /> 'verifico atravez do select se o login é do admin<br /> if rs("login")= "admin" then<br /> response.redirect("administracao.asp?msgeof=12")<br /> set rs=nothing 'fecho o rs do select<br /> else<br /> 'crio o rsdel para excluir o registro<br /> set rsdel=server.createobject("ADODB.Recordset")<br /> SQLdel="DELETE FROM login WHERE codigo="&varcodigo&""<br /> rsdel.open SQLdel,conexao,1,3<br /> response.redirect("administracao_treina.asp?msg=3")<br /> set rsdel=nothing<br /> end if<br /> 'fecha a conexao<br /> call fechaconexao %>Inserindo Dados
Com um formulário de entrada de dados para o cliente, iremos recupera-los e submeter a uma página para inserir.
Incluir_form_treina.asp
<% 'aplicaçaun para efetuar a inclusao de dados<br /> 'onde através de um form com os campos p/ inserir os valores <br /> 'e serem postados para o inserir_action.asp<br /><br /> Option explicit<br /> 'declaro as var <br /> dim varmsgeof<br /> varmsgeof=request.querystring("msgeof") 'no caso de erro no incluir_action<br /><br /> %><br /> <script language="javascript"><br /> function novajan(){<br />window.open ("erro.asp","Erro","width=180,height=240,scrollbar=no,status=yes,resize=no")<br />}<br /></script><br /><% <br /> if varmsgeof <> "" then<br /> response.write("<script>novajan();</script>")<br /> end if<br /> if Session("logado")="falso" then<br /> response.write("<script>novajan();</script>")<br /> end if<br /> %><br /><br /><html><br /><head><br /><title>Incluir Login</title><br /><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><br /><script language="JavaScript"><br /><!--<br />function MM_findObj(n, d) { //v4.0<br /> var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {<br /> d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}<br /> if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];<br /> for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);<br /> if(!x && document.getElementById) x=document.getElementById(n); return x;<br />}<br /><br />function MM_validateForm() { //v4.0<br /> var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;<br /> for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);<br /> if (val) { nm=val.name; if ((val=val.value)!="") {<br /> if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');<br /> if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\\n';<br /> } else if (test!='R') {<br /> if (isNaN(val)) errors+='- '+nm+' must contain a number.\\n';<br /> if (test.indexOf('inRange') != -1) { p=test.indexOf(':');<br /> min=test.substring(8,p); max=test.substring(p+1);<br /> if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\\n';<br /> } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\\n'; }<br /> } if (errors) alert('The following error(s) occurred:\\n'+errors);<br /> document.MM_returnValue = (errors == '');<br />}<br /><br />function MM_popupMsg(msg) { //v1.0<br /> alert(msg);<br />}<br />//--><br /></script><br /><style><br />body {SCROLLBAR-FACE-COLOR: #336699; SCROLLBAR-HIGHLIGHT-COLOR: #8080FF; SCROLLBAR-SHADOW-COLOR: #FFFFFF; SCROLLBAR-3DLIGHT-COLOR: #ffff99; SCROLLBAR-ARROW-COLOR: #FFFFFF; SCROLLBAR-TRACK-COLOR: #E6E6E6; FONT-FAMILY: Arial, Verdana; SCROLLBAR-DARKSHADOW-COLOR: #008080 }<br />input { font: normal 10px Verdana, Arial, Helvetica, sans-serif; color: #0000FF; background: #CCCCCC}<br /></style><br /></head><body bgcolor="#FFFFFF" text="#000000"><br /><table width="75%" border="0" height="139" cellpadding="0" cellspacing="0" align="center"> <br /><tr> <td bgcolor="#666666" width="2%"> <div align="center"><b><img src="file:///A|/asp/imgs/curva.gif" width="10" height="19"></b></div></td><td bgcolor="#336699" width="98%"> <br /><div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="3">:: <br /></font><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="2">Cadastro <br />de Login</font><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="3"> <br /></font></b></div></td></tr> <tr bgcolor="#336699"> <td height="5" colspan="2"> </td></tr> <br /><tr bgcolor="#e6e6e6"> <td height="163" colspan="2"> <form name="form1" method="post" action="incluir_action_treina.asp"> <br /><table width="99%" border="0" bordercolor="#e6e6e6"> <tr> <td><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre <br />com o login: <input type="text" name="login" size="12" maxlength="12"> </font></b></td></tr> <br /><tr> <td height="12" bordercolor="0"><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre <br />com sua senha: <input type="password" name="senha" size="8" value="" maxlength="8"> <br /></font></b></td></tr> <tr> <td bordercolor="0"><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre <br />com o email: <input type="text" name="email" size="48" maxlength="48"> </font></b></td></tr> <br /><tr> <td bordercolor="0"> <div align="center"> <br /> <input type="image" border="0" name="imageField" src="imgs/enviar.gif" width="87" height="22" onClick="MM_validateForm('login','','R','email','','RisEmail','senha','','R');MM_popupMsg('Obrigado por se cadastrar.');return document.MM_returnValue" align="middle"> <br /></div></td></tr> </table></form></td></tr> </table><br /><p> </p><br /></body><br /></html>Mas, antes de inserir, iremos verificar, através de uma consulta, se os dados já existem no banco. Caso exista, iremos redirecionar o user para a página de formulário novamente, com uma mensagem de erro. Faremos isso através da SQL:
“SELECT login FROM login WHERE login='”&varlogin&”‘”
rsselect.open SQLselect,conexao,1,3
if not rsselect.eof then
response.redirect(“incluir_form_treina.asp?msgeof=1”)
Precebam que nesta parte do código, if not rsselect.eof then, se não for final do arquivo, ou seja, já existe os dados, caso contrário, inserimos ele, e redirecionamos, para a pagina de administração com sucesso.
Incluir_action_treina.asp
<% 'incluir_action.asp => fazer a inclusao no BD, antes fazendo uma verificaçao<br /> 'no BD através de SQL Select if not rs.eof then<br /> 'redireciono para incluir_form.asp?msgeof=1 else<br /> 'incluo no bd atraves da SQL Insert e redireciono para adiministraçao.asp?msg=1<br /> 'e lá receberá um mensagem de sucesso<br /><br /> Option explicit<br /> 'declaro as var<br /> dim varlogin, varemail, varsenha, conexao, conDBQ, constring, rsselect, SQLselect, rsinsert, SQLinsert<br /> 'recupero todos os dados<br /> varlogin=trim(request.form("login"))<br /> varsenha=trim(request.form("senha"))<br /> varemail=trim(request.form("email"))<br /> 'crio a conexao<br /> %><br /> <!--#include file="conn/conexao1.asp"--><br /> <% 'abrir a conexao<br /> call abreconexao<br /> 'crio o rsselect para verificar se os dados jah estaun cadastrados<br /> set rsselect=server.createobject("ADODB.Recordset")<br /> 'crio o SQLselect<br /> SQLselect="SELECT login FROM login WHERE login='"&varlogin&"'"<br /> rsselect.open SQLselect,conexao,1,3<br /> if not rsselect.eof then<br /> response.redirect("incluir_form_treina.asp?msgeof=1")<br /> set rsselect=nothing<br /> else <br /> 'crio o rsinsert para inseiri os dados no bd<br /> set rsinsert=server.createobject("ADODB.Recordset")<br /> 'crio o SQLinsert pra incluir no bd<br /> SQLinsert="INSERT INTO login(login,senha,email) values('"&varlogin&"','"&varsenha&"','"&varemail&"')"<br /> rsinsert.open SQLinsert,conexao,1,3<br /> response.redirect("administracao_treina.asp?msg=1")<br /> set rsinsert=nothing<br /> end if <br /> call fechaconexao %>Pesquisando Dados
Para efetuar a busca nos registro da BD,onde através de um form com input type text onde o user entra com pesquisa que será submetida para o pesquisa_action.asp,fazendo a SQL, nesta aplicação darei um request da varmsgeof ,k irá retornar no caso de erro no action fazendo um if e mostrando um window.open.Usamos o operador LIKE ,que é usado em uma cláusula WHERE para procurar um determinado padrão em uma coluna.
Sintaxe SQL LIKE
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
Pesquisa_form_treina.asp
<% <br /><br /> Option Explicit<br /> 'declaro as var<br /> dim varmsgeof<br /> 'recupero a var<br /> varmsgeof=request.querystring("msgeof")<br /> %><br /> <script language="javascript"><br />function novajan(){<br />window.open ("erro_treina.asp","Proibido","width=180,height=200,scrollbar=no,status=yes,resize=no")<br />}<br /></script><br /><%<br /> if varmsgeof = 1 then 'porque naun achou nada na SQL select<br /> response.write("<script>novajan();</script>")<br /> end if<br /><br /> 'no caso de fazer uma pesquisa mais avançada com 2 tab.<br /> 'eu aki criaria a conexao,crio o rs, crio am SQL<br /> 'sql="select * from categoria order by categoria"<br /> 'rs.open sql,conexao,1,3<br /> 'crio o form com action para pesquisa_action.asp<br /> 'crio o <select name="categoria" size="1"><br /> '{% while not rs.eof %}<br /> '<option value="{%=rs("cod_cat")%}"><br /> '{%rs("categoria")%}<br /> '</option><br /> '{%rs.movenext<br /> 'wend%}<br /> '</select><br /> '{%fecha o rs<br /> 'set rs=nothing<br /> 'fecha a conexao<br /> 'call fechaconexao<br /> 'crio o input type text da pesquisa<br /> '<input type="text" name="categoria"><br /><br /> %><br /><br /><html><br /><head><br /><title>Pesquisa</title><br /><br /></head><br /><br /><body bgcolor="#999999" text="#000000"><br /><table width="75%" border="0"> <tr> <td> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Pesquisa</font></b></div></td></tr> <br /><tr> <td height="2"> </td></tr> <tr> <td> <form name="form1" method="post" action="pesquisa_action_treina.asp"> <br /><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Entre <br />com a Pesquisa:</font></b> <input type="text" name="pesquisa" size="35" maxlength="15"> <br /> <input type="image" border="0" name="imageField" src="imgs/ok.gif" width="18" height="15" alt="pesquisar"> <br /></form></td></tr> </table><br /><p> </p><br /></body><br /></html>Pesquisa_action_treina.asp
<% <br /> Option Explicit<br /> 'declaro as var<br /> dim conexao, conDBQ, constring, rs, SQL, varpesquisa<br /> 'recupero a pesquisa<br /> varpesquisa=trim(request.form("pesquisa"))<br /> 'crio a conexao<br /> %><br /> <!--#include file="conn/conexao1.asp"--><br /> <%'abro a conexao<br /> call abreconexao<br /> 'crio o rs<br /> set rs=server.createobject("ADODB.Recordset")<br /> 'crio a SQL<br /> SQL="SELECT * FROM login WHERE login LIKE '%"&VARPESQUISA&"%' ORDER BY login"<br /> rs.open SQL,conexao,1,3<br /> if rs.eof then<br /> response.redirect("pesquisa_form_treina.asp?msgeof=1")<br /> else%><br /><html><br /><head><br /><title>Dados Encontrados</title><br /><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><br /></head><br /><body bgcolor="#999999" text="#000000"><br /><table width="75%" border="1"> <tr> <td colspan="4"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Pesquisa <br />de <%= Ucase(varpesquisa)%></font></b></div></td></tr> <tr> <td colspan="4"> </td></tr> <br /><tr> <td width="18%"> <div align="center"><font color="#666666"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Código</font></b></font></div></td><td width="26%"> <br /><div align="center"><font color="#666666"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Login</font></b></font></div></td><td width="22%"> <br /><div align="center"><font color="#666666"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Senha</font></b></font></div></td><td width="34%"> <br /><div align="center"><font color="#666666"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Email</font></b></font></div></td></tr> <br /><% while not rs.eof %> <tr bgcolor="#CCCCCC"> <td width="18%"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs("codigo")%></font></b></div></td><td width="26%"> <br /><div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs("login")%></font></b></div></td><td width="22%"> <br /><div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs("senha")%></font></b></div></td><td width="34%"> <br /><div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs("email")%></font></b></div></td></tr> <br /><%rs.movenext<br /> wend%> <tr> <td colspan="4"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Foram <br />encontrados <%=rs.recordcount%> registros para sua pesquisa.</font></b></td></tr> <br /><tr> <td colspan="4"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Página <br /><%=rs.pagecount%> de <%=rs.pagecount%> </font></b></td></tr> <% 'fecha o rs<br /> set rs=nothing<br /> 'fecha a conexao<br /> call fechaconexao<br /> end if %> </table><br /><table width="75%" border="0" height="65"><br /> <tr> <br /> <td> <div align="center"><font color="#999999"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666666">Resolução <br /> mínima 800x600.</font></b></font></div></td><br /> </tr><br /> <tr> <br /> <td> <div align="center"><font color="#999999"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> <br /> <font color="#666666">© Copyright 2000-2002 - Todos os direitos reservados</font></font></b></font></div></td><br /> </tr><br /></table><br /><p> </p><br /></body><br /></html>Recuperando Senha
Vários sistemas, utilizam este recurso para que quando o user esquecer ou perder sua senha, ela seja enviada via email para o “esquecidinho”. Teremos um formulário, onde o user irá entrar com seu login, nome e email. Com esses dados faremos uma consulta no bd e depois enviaremos a senha por email, este é um simples método, mas podemos implementar muito mais, para ter maior segurança, como por exemplo validar algumas outros informações.
Esqsenha_form_treina.asp
<% Option Explicit <br />'declara as var<br />dim varmsgeof,varmsg<br />'recupera a msgeof do erro no login_action<br />varmsgeof=request.querystring("msgeof")<br />varmsg=request.querystring("msg")%><br /><br /><script language="javascript"><br />function novajan(){<br />window.open ("erro_treina.asp","Erro","width=240,height=240,scrollbar=no,status=yes,resize=no")<br />}<br /></script><br /><br /><script language="javascript"><br />function novajan1(){<br />window.open ("sucesso_treina.asp","Sucesso","width=240,height=240,scrollbar=no,status=yes,resize=no")<br />}<br /></script><br /><br /><%<br />if varmsg = 1 then<br />response.Write("<script>novajan1();</script>")<br />end if<br /><br />Select case varmsgeof<br />case 1 'nome vazio<br />response.write("<script>novajan();</script>")<br />case 2 'login vazio<br />response.write("<script>novajan();</script>")<br />case 3 'email vazio<br />response.write("<script>novajan();</script>")<br />case 4 'login incorreto<br />response.write("<script>novajan();</script>")<br />case 5 'email incorreto<br />response.write("<script>novajan();</script>")<br />end select %><br /><br /><HTML><br /><HEAD><br /><TITLE>Recuperação de senha</TITLE><br /><BODY bgColor=#ffffff leftMargin=18 topMargin=12><br /><table width="100%" border="0" height="445"><br /> <tr> <br /> <td height="378"> <p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#666666"><b><font color="#336699">:: <br /> Entre com as informções para receber sua senha por email.</font></b></font></p><br /> <p> </p><br /> <form name="form1" method="post" action="file:///C|/Documents%20and%20Settings/x/Desktop/Treinamento/esqsenha_action_treina.asp"><br /> <table width="85%" border="0" cellspacing="0" cellpadding="0" bgcolor="#336699"><br /> <tr bgcolor="#666666"> <br /> <td width="4%" bgcolor="#666699"><img src="file:///C|/Documents%20and%20Settings/x/Desktop/Treinamento/imgs/curva.gif" width="10" height="19"></td><br /> <td width="96%" bgcolor="#336699"> <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"><b><font size="3">:: <br /> </font>Por favor entre com seu login e email</b></font></div></td><br /> </tr><br /> <tr bgcolor="#666666"> <br /> <td width="4%" bgcolor="#336699"> </td><br /> <td width="96%" bgcolor="#336699"> </td><br /> </tr><br /> <tr bgcolor="#666666"> <br /> <td colspan="2" bgcolor="#336699"><font color="#e6e6e6" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b> Nome: <br /> <br /> <input name=nome id="nome" size="20" maxlength="12"><br /> </b></font></td><br /> </tr><br /> </table><br /> <table width="85%" border="0" cellspacing="0"><br /> <tr bgcolor="#336699"> <br /> <td colspan="3"><font color="#e6e6e6" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b> Login: <br /> <br /> <input name=login size="12" maxlength="12"><br /> </b></font></td><br /> </tr><br /> <tr bgcolor="#336699"> <br /> <td colspan="3"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#e6e6e6"><b> Email: <br /> <input type=text name=email size="30" maxlength="30"><br /> <span class="preto"> </span></b></font></td><br /> </tr><br /> <tr bgcolor="#336699"> <br /> <td height="2" width="41%"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#e6e6e6"><b><span class="preto"><br /> <input type="image" border="0" name="imageField" src="file:///C|/Documents%20and%20Settings/x/Desktop/Treinamento/imgs/enviar.gif" width="87" height="22"><br /> </span></b></font></div></td><br /> <td width="42%"><div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#e6e6e6"></font></div></td><br /> <td height="2" width="17%"> </td><br /> </tr><br /> <tr bgcolor="#336699"> <br /> <td height="2" colspan="2"> </td><br /> <td height="2"> </td><br /> </tr><br /> </table><br /><br /> </form><br /> </td><br /> </tr><br /></table><br /></BODY></HTML>Abaixo o action que irá validar e enviar a senha.
Esqsenha_action_treina.asp
<% Option Explicit<br />' Declaro as variaveis<br />Dim varnome,varlogin,varemail,conDBQ,constring,conexao,rs,SQL,objmail<br /><br />' recupero as variaveis<br /><br />varnome=Trim(request.Form("nome"))<br />varemail=Trim(request.Form("email"))<br />varlogin=Trim(request.Form("login"))<br /><br />if varnome = "" then<br />response.redirect("esqsenha_form_treina.asp?msgeof=1")<br />end if<br /><br />if varlogin = "" then<br />response.redirect("esqsenha_form_treina.asp?msgeof=2")<br />end if<br /><br />if varemail = "" then<br />response.redirect("esqsenha_form_treina.asp?msgeof=3")<br />end if<br /><br />' crio a conexao<br />%><br /><br /><!--#include file="conn/conexao1.asp" --><br /><br /><%<br />' abro a conexao<br /> call abreconexao<br /> ' crio o rs<br /><br /> Set rs= server.createobject("ADODB.Recordset")<br /> ' crio o SQL<br /> SQL="SELECT * FROM login WHERE login='"&varlogin&"'"<br /> rs.open SQL,conexao,1,3<br /> if rs.eof then <br /> response.Redirect("esqsenha_form_treina.asp?msgeof=4")<br /> else<br /> if LCase(varemail) <> LCase (rs("email")) then<br /> response.Redirect("esqsenha_form_treina.asp?msgeof=5")<br /> else<br /> ' crio o objeto para envio de email<br /> Set objmail= Server.CreateObject("CDONTS.NewMail") <br /> objmail.from="xanburzum@terra.com.br"<br /> objmail.to=varemail<br /> objmail.subject="Sua senha"<br /> objmail.body="Caro(a) " & varnome & " segue sua senha: " &rs("senha")<br /> objmail.send<br /> set objmail=nothing<br /> end if <br /> end if<br /> response.Redirect("esqsenha_form_treina.asp?msg=1")<br /> call fechanexaonexao<br /> %>Finalizando, agora teremos este arquivo, que permite que o usuário altere sua senha. Para isso é preciso fornecer a senha atual, a nova senha e redigitar a nova senha para confirmação.
Alterasenha_form_treina.asp
<html><br /><head><br /><title>Administradores</title><br /></head><br /><body bgcolor="#9999FF"><br /><table width="56%" border="1" cellspacing="0" cellpadding="0" align="center"><br /> <tr bgcolor="#FFFFFF"> <br /> <td> <br /> <div align="center"><font color="#FF6633" face="Arial, Helvetica, sans-serif"><b>Alteração <br /> de senha do Login: <%=UCase(Session("Login"))%></b></font></div><br /> </td><br /> </tr><br /> <tr bgcolor="#CCCCCC"> <br /> <td> <br /> <form method="post" action=" Alterasenha_action_treina.asp"><br /> <table width="85%" border="0" align="center"><br /> <tr> <br /> <td height="20" width="48%"> </td><br /> <td height="20" width="52%"> </td><br /> </tr><br /> <tr> <br /> <td height="39" width="48%"> <br /> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Senha <br /> atual :</font></div><br /> </td><br /> <td height="39" width="52%"> <br /> <input type="password" name="senhaAtual" maxlength="10" size="10"><br /> </td><br /> </tr><br /> <tr> <br /> <td height="39" width="48%"> <br /> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nova <br /> senha:</font></div><br /> </td><br /> <td height="39" width="52%"> <br /> <input type="password" name="senhaNova" maxlength="10" size="10"><br /> </td><br /> </tr><br /> <tr> <br /> <td height="39" width="48%"> <br /> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Confirma <br /> senha:</font></div><br /> </td><br /> <td height="39" width="52%"> <br /> <input type="password" name="senhaConfirma" maxlength="10" size="10"><br /> </td><br /> </tr><br /> <tr> <br /> <td height="39" colspan="2"> <br /> <div align="center"> <br /> <input type="submit" name="Entrar" value="Alterar"><br /> </div><br /> </td><br /> </tr><br /> </table><br /> </form><br /> </td><br /> </tr><br /></table><br /></body><br /></html>Abaixo o arquivo que irá trocar a senha.
Alterasenha_action_treina.asp
<%<br />Option Explicit<br />'Admin - alteração de senhas<br />%><br /><%<br />Dim strSQL, Conexao, rs, varSenha, varSenhaAtual, varSenhaNova, varSenhaConfirma, varLinha<br />varSenhaAtual = Trim(Request.Form("SenhaAtual"))<br />varSenhaNova = Trim(Request.Form("SenhaNova"))<br />varSenhaConfirma = Trim(Request.Form("SenhaConfirma"))<br />varSenha = Session("Senha")<br />varSenha = Replace(varSenha, "'", "")<br />varSenhaNova = Replace(varSenhaNova, "'", "")<br />varSenhaConfirma = Replace(varSenhaConfirma, "'", "")<br /><br />IF varSenha = varSenhaAtual AND varSenhaNova = varSenhaConfirma then<br /> strSQL = "UPDATE Login SET TXT_Senha = '" & varSenhaNova & "' "<br /> strSQL = strSQL & "WHERE TXT_Nome = '" & Session("Login") & "'"<br /> 'abre a conexao<br /> Call abre_conexao<br /><br /> 'executa a instrução SQL<br /> Set rs = Conexao.Execute(strSQL)<br /><br /> 'fecha a conexao<br /> Call fecha_conexao<br /> Set rs = Nothing<br /> varLinha = 1<br />Else<br /> varLinha = 2<br />End IF<br />%><br /><HTML><br /><BODY bgcolor="#FFFFFF"><br /><DIV align="left"> <br /> <table width="75%" border="0"><br /> <%<br /> IF varlinha = 1 then<br /> %><br /> <tr> <br /> <td> <br /> <div align="center"><font color="#FF6633" face="verdana"><b><font color="#FF6633" face="verdana"><b><font color="#663399" face="verdana"><b><font size="4">Senha <br /> alterada com</font></b></font><font size="4"><br><br /> <font color="#663399" face="verdana"><b><font size="4"><font color="#818181" size="6">S <br /> U C E S S O ! ! !</font> </font></b></font><font color="#FFFFFF" size="6"><br /> !</font></font></b></font></b></font></div><br /> </td><br /> </tr><br /> <%<br /> Else<br /> %> <br /> <tr> <br /> <td> <br /> <div align="center"><font color="#663399" face="verdana" size="4"><b>Senhas <br /> nova e confirma estão</b></font><br><br /> <font color="#818181" face="verdana" size="6"><b>I N C O R R E T A S <br /> ! ! ! </b></font></div><br /> </td><br /> </tr><br /> <%<br /> End If<br /> %> <br /> </table><br /></DIV><br /></BODY><br /></HTML>E, por último, a página de erro.
Erro_treina.asp
<html><br /><head><br /><title>Erro em tempo de execução</title><br /><!-- <meta http-equiv="refresh" content="3;URL=java script:window.close();">--><br /><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><br /><script language="javascript"><br />function fechapop(){window.setTimeout("window.close()",10000);<br />}<br /></script><br /></head><br /><body bgcolor="336699" text="#000000" onLoad="fechapop()"><br /><table width="80%" border="0" align="center"><br /> <tr> <br /> <td> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#CCCCCC"><i><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">ERRO</font> <br /> </i> </font></b></div></td><br /> </tr><br /> <tr> <br /> <td> <p><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="1"><b>Ocorreu <br /> algum erro da seguinte procedência:</b></font></p><br /> <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="1"><b> <br /> <font color="#33CCFF"># inclusão, login inválido, senha <br /> incorreta, logon ativo, dados pendentes #</font></b></font></p></td><br /> </tr><br /> <tr> <br /> <td> <div align="center"><font color="#000000"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Resolução <br /> mínima 800x600.</font></b></font></div></td><br /> </tr><br /> <tr> <br /> <td> <div align="center"><font color="#000000"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> <br /> © Copyright 2000-2014 - Todos os direitos reservados</font></b></font></div></td><br /> </tr><br /></table><br /></body><br /></html>Fazendo LogOff
Terminar_treina.asp
<%response.buffer=true%><br /><%Session.abandon%><br /><br /><br /><html><br /><head><br /><br /><script language="javascript"><br />function fechapop(){window.setTimeout("window.close()",10000);<br />}<br /></script><br /><br /><br /><!-- <meta http-equiv="refresh" content="3;URL=" --><br /><title>Encerrar sessão</title><br /><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><br /></head><br /><br /><body bgcolor="336699" text="#000000" onLoad="fechapop()"><br /><table width="80%" border="0" align="center"><br /> <tr> <br /> <td height="21"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#CCCCCC"><i><font color="#e6e6e6">Obrigado <br /> <%=Ucase(session("login")) %> </font><font color="#66FFFF"> </font> </i> </font></b></div></td><br /> </tr><br /> <tr> <br /> <td> <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="1"><b><font color="#33CCFF">Você <br /> saiu da sessão Restrita.</font></b></font></div></td><br /> </tr><br /> <tr> <br /> <td> <div align="center"><font color="#000000"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Resolução <br /> mínima 800x600.</font></b></font></div></td><br /> </tr><br /> <tr> <br /> <td> <div align="center"><font color="#000000"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> <br /> © Copyright 2000-2002 - Todos os direitos reservados</font></b></font></div></td><br /> </tr><br /></table><br /></body><br /></html>E a página de sucesso
Sucesso_treina.asp






