Dev (Back & Front)ARTIGO

ASP – Sistema Administrativo

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 dadosBanco 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 JavascriptJavaScript116 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

é Bacharel em Ciência da Computação, pós-graduação não concluída em Inteligência Artificial (IA) pela USFCAR, desenvolvedor de aplicativos WEB e autor de livros para cursos de informática e consultor de web. Com mais de 10 anos de experiência, autor de vários artigos e tutoriais na Web nas tecnologias ASP,SQL,JAVASCRIPT ,ASP.Net,XML , AJAX . e outros recursos. Atualmente trabalha como Coordenador de cursos de T.I.

Ver perfil