Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandre Queiróz

Pegar a ID do usuário no login e passar para outra página

Recommended Posts

Pessoal,Estou com uma dúvida!Criei um sistema de login em ASP no DW onde o usuário entra com o e-mail e senha e o sistema verifica e se estiver correto ele redireciona para a próxima página onde serão exibidos os seus dados para edição.Eu quero pegar a ID do usuário no banco de dados se o login for válido e guardar em uma session para na próxima página eu consultar o valor dessa session e buscar os dados do usuário no banco e colocá-los no form para atualização.Como faço isso?? :unsure: :unsure: Alexandre.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Simples.

 

Aqui pega a id e cria a seção:

session("usr_log_ok") = RS("id_usuario")

E aqui, já na outra pagina, faz o filtro pela a id do usuario:

SQL = "select * from usuarios where id_usuario ="&session("usr_log_ok")

Pronto! Flw! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

na hora de validar o login tu roda um select tipo: "SELECT IDUsuario FROM usuarios WHERE email='email_do_cara' AND senha='senha_do_cara' dae tu teste se a consulta retornou algo. Se caso retornou, é o id do usuario, dae tu coloca numa session assim:session("IDUser") = datarecord(IDUsuario)onde o datarecord é o objeto objeto q retornou a consulta do banco.para pegar o resultado é soh fazer o seguintevariavel = session("IDUser")tenta isso, qualquer coisa é só postar aí... Falow!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre... você é um cara de sorte, mal começa no forum e já tem 2 respostas cetas de uma vez!Ahh, a minha e a do Schneider provavelmente resolverão o seu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre... você é um cara de sorte, mal começa no forum e já tem 2 respostas cetas de uma vez!Ahh, a minha e a do Schneider provavelmente resolverão o seu problema.

Pessoal,Obrigado pelas dicas, mas continuo perdido, sou novo no assunto e estou apanhando para aprender.Sinceramente, não estou conseguindo, esse é o meu código do login:<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!--#include file="Connections/usuarios_conexao.asp" --><%' *** Validate request to log in to this site.MM_LoginAction = Request.ServerVariables("URL")If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)MM_valUsername=CStr(Request.Form("email"))If MM_valUsername <> "" Then MM_fldUserAuthorization="" MM_redirectLoginSuccess="ambiente_usuario.asp" MM_redirectLoginFailed="erro.asp" MM_flag="ADODB.Recordset" set MM_rsUser = Server.CreateObject(MM_flag) MM_rsUser.ActiveConnection = MM_usuarios_conexao_STRING MM_rsUser.Source = "SELECT email, senha" If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization MM_rsUser.Source = MM_rsUser.Source & " FROM cadastro WHERE email='" & Replace(MM_valUsername,"'","''") &"' AND senha='" & Replace(Request.Form("senha"),"'","''") & "'" MM_rsUser.CursorType = 0 MM_rsUser.CursorLocation = 2 MM_rsUser.LockType = 3 MM_rsUser.Open If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then ' username and password match - this is a valid user Session("MM_Username") = MM_valUsername If (MM_fldUserAuthorization <> "") Then Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value) Else Session("MM_UserAuthorization") = "" End If if CStr(Request.QueryString("accessdenied")) <> "" And false Then MM_redirectLoginSuccess = Request.QueryString("accessdenied") End If MM_rsUser.Close Response.Redirect(MM_redirectLoginSuccess) End If MM_rsUser.Close Response.Redirect(MM_redirectLoginFailed)End If%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title><link href="css/estrutura.css" rel="stylesheet" type="text/css" /><script language="javascript" type="text/javascript" src="js/js.js"> </script></head><body><div id="holder"> <div id="header">Content for id "header" Goes Here</div> <div id="barra_proc"> </div> <div class="style2" id="barra2"> Olá ######## <a href="login_usuario.asp" target="_self">Cadastre-se grátis</a> </div> <div id="content"> <table width="650" border="0" align="center" id="login_user"> <tr> <td width="50%" valign="top" bgcolor="#CCCCCC"><p class="style7">Já sou cadastrado</p> <form ACTION="<%=MM_LoginAction%>" id="acessa_conta" name="acessa_conta" method="POST"> <table width="96%" border="0"> <tr> <td width="20%" nowrap="nowrap">E-mail: </td> <td width="80%"><input name="email" type="text" id="email" size="40" maxlength="40" /></td> </tr> <tr> <td nowrap="nowrap">Senha: </td> <td><input name="senha" type="password" id="senha" size="40" maxlength="40" /></td> </tr> <tr> <td colspan="2"><div align="right">Esqueci minha senha </div></td> </tr> <tr> <td colspan="2"><input name="acessar_conta" type="submit" id="acessar_conta" value="Acessar minha conta" /></td> </tr> </table> </form> </tr> <br /> </table> <div></div> </div></div></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, vê esse script aqui, é bem mais simples pra você aprender, e funciona direitinho do jeito que você quer.

 

login.asp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><script language="JavaScript" type="text/JavaScript">function ValidaCadastro(form){	  	 if (form.frm_login.value == "")	 {	   alert("Login não Informado!");	   return false;	 }	 else if (form.frm_senha.value == "")	 {	   alert("Senha não informada!");	   return false;	 }}</script><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Login</title><style type="text/css"><!--body {	margin-left: 0px;	margin-top: 00px;	margin-right: 0px;	margin-bottom: 0px;}body,td,th {	font-family: Verdana;	color: #333333;}.style1 {	color: #CC0000;	font-weight: bold;}--></style></head><body><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">  <tr>	<td align="center" valign="middle"><form action="valida_login.asp" method="post" name="form" onSubmit="return ValidaCadastro(this)">	  <table width="35%" border="2" align="center" cellpadding="5"cellspacing="0" bordercolor="#666666" class="categoria">	  <tr>		<td colspan="2"><div align="center" class="style1">Área restrita </div></td>		</tr>	  <tr>		<td bgcolor="#E8E8E8"><strong>Login:</strong></td>		<td bgcolor="#E8E8E8"><div align="left">			<input name="frm_login" type="text" id="frm_login" size="15" />		</div></td>	  </tr>	  <tr>		<td bgcolor="#E8E8E8"><strong>Senha:</strong></td>		<td bgcolor="#E8E8E8"><div align="left">			<input name="frm_senha" type="password" id="frm_senha" size="15" maxlength="8" />		</div></td>	  </tr>	  <tr>		<td> </td>		<td align="right"><div align="left">			<input name="Enviar" type="submit" class="Botao" id="Enviar" value="Entrar" />		      </div></td>	  </tr>	</table>	</form></td>  </tr></table></body></html>
valida_login.asp

<%'Recuperamos o dados que foram digitados no formulário'e já substituimos as aspas simples por aspas duplaslogin = request.form(Replace("frm_login", "'", "''"))senha = request.form(Replace("frm_senha", "'", "''"))'Verificamos se os campos nao estao vazioif login = "" thenresponse.redirect "login.asp"response.end()end ifif senha = "" thenresponse.redirect "login.asp"response.end()end if'Evitando o SQL injection, ou simplesmente a entrada forçadalogin = replace(login,"'","''")login = replace(login,"#","''")login = replace(login,"$","''")login = replace(login,"%","''")login = replace(login,"¨","''")login = replace(login,"&","''")login = replace(login,"'or'1'='1'","''")login = replace(login,"--","''")login = replace(login,"insert","''")login = replace(login,"drop","''")login = replace(login,"delet","''")login = replace(login,"xp_","''")login = replace(login,"select","''")login = replace(login,"*","''")'Evitando o SQL injection, ou simplesmente a entrada forçadasenha = replace(senha,"'","''")senha = replace(senha,"#","''")senha = replace(senha,"$","''")senha = replace(senha,"%","''")senha = replace(senha,"¨","''")senha = replace(senha,"&","''")senha = replace(senha,"'or'1'='1'","''")senha = replace(senha,"--","''")senha = replace(senha,"insert","''")senha = replace(senha,"drop","''")senha = replace(senha,"delet","''")senha = replace(senha,"xp_","''")senha = replace(senha,"select","''")senha = replace(senha,"*","''")'Criamos a conexao com o banco de dados.set conexao = Server.CreateObject("ADODB.Connection")conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("meu_banco.mdb")&";"conexao.open'Vamos buscar o Login e senha no banco de dadosSQL = "select * from usuarios where login_usuario = '"&login&"' and senha_usuario = '"&senha&"' "Set RS = Conexao.Execute(SQL)'Verificamos se esta tudo OK.Se nao tiver, é mostrada a mensagem abaixo.If RS.EOF Then  Response.Write "<center><b>Login ou Senha errada. Tente novamente!</b></center>"  Response.End()End If'Vamos colocar os dados do usuario logado numa session'para usarmos mais tarde e fazer a verificação se ele esta logado.'OBS.: Nao utilize nomes obvios para esta session(evita a invasão).session("usr_log_ok") = RS("id_usuario")'Agora vamos gravar o IP do usuario no Banco de dados.ip_usuario = Request.ServerVariables("REMOTE_ADDR")SQL2 = "Update usuarios set ip_usuario='"&ip_usuario&"' where id_usuario="&rs("id_usuario")conexao.execute(sql2)'fecha e destroi o record setrs.closeset rs = nothing'fecha a conexaoconexao.close'redirecionando para a pagina Administrativa(restrita) ou para'a ultima pagina q o usuario estava.If Session("pagina_restrita") = "" thenresponse.Redirect("admin.asp")elseresponse.Redirect Session("pagina_restrita")end if%>
admin.asp

<%'este trecho deve estar em todas as paginas em que o conteudo for restrito.If session("usr_log_ok")="" Then  Response.Write "Você está Logado no sistema!"  Response.write "<a href='login.asp'>Clique aqui para se logar.</a>"    ' Caso voce queira utilizar esse scripts para paginas que necessitem querystring's ou  'fazer o usuario, após se logar, voltar para a pagina que estava, manhenha o codigo abaixo  'lembrando q se a pagina contiver querystring's, você deve trocar o nome da variavel ID.  'Se nao for seu caso, você pode simplesmente comentar a linha abaixo usando um ' antes da session    Session("pagina_restrita") = Request.ServerVariables("SCRIPT_NAME")&"?"&request.ServerVariables("QUERY_STRING")    'aqui para de executar o script caso a pessoa nao esteja logada.  Response.End()End If'Criamos a conexao com o banco de dados.set conexao = Server.CreateObject("ADODB.Connection")conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("meu_banco.mdb")&";"conexao.open'Vamos buscar o usuario no banco de dadosSQL = "select * from usuarios where id_usuario ="&session("usr_log_ok")Set RS = Conexao.Execute(SQL)If rs.eof thenResponse.write "Ocorreu um Erro!"Else%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Administrador</title></head><body>Olá, <%=rs("nome_usuario")%>. Seu IP é: <%= rs("ip_usuario")%><p>Aqui você coloca todo seu conteudo restrito.</p></body></html><%end if%>
O seu bd terá que ter a seguinte estrutura.

 

Nome do banco: meu_banco.mdb

Nome da tabela: usuarios

Estrutura da tabela: id_usuario (AutoNumeração)

login_usuario

nome_usuario

senha_usuario

email_usuario

ip_usuario

Esse script foi criado originalmente por Lucasbr.

 

Flw! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.