Ir para conteúdo

POWERED BY:

Arquivado

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

Barbyzita

Recuperar senha pelo login

Recommended Posts

Bom dia, programadores.

 

Estou necessitando do auxílio de vcs para uma coisa q considerei simples, no entanto, estou tendo dificuldades infindáveis... :o

É o seguinte:

No site da empresa a qual estagio podemos recuperar a senha de login ao informarmos nosso e-mail. No entanto, eles querem trocar o e-mail pelo login mesmo, já que muitos clientes esquecem ou têm seu endereço eletrônico desativado. Bom, eu fui trocando as variáveis mas, sempre consta "Dados Incorretos". Gostaria q me ajudassem em relação a minha falta de atenção. Colocarei os códigos antigos e o q eu modifiquei, certo? Obrigada.

 

Esse programa diz respeito ao formulário q fica no topo para, dentre outros serviços, recuperarmos a senha:

 

topo_a.php

 

<form action="logar.php" style="MARGIN: 0pt" method="post" name="login" id="login" onsubmit="return valida_login(this)">
  <table width="486" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="30" height="56" background="img/login_1.jpg"> </td>
      <td width="425" valign="top" background="img/login_barra.jpg"><div align="left" style="margin-top:13px;">
        <table width="421" border="0" cellspacing="2" cellpadding="0">
          <tr>
            <td width="33"><div align="right" class="txt_login">Login:</div></td>
            <td width="92"><input name="logar_login" type="text" class="frm_senha2" id="logar_login" maxlength="25" /></td>
            <td width="36"><div align="right" class="txt_login">Senha:</div></td>
            <td width="92"><input name="logar_senha" type="password" class="frm_senha" id="logar_senha" maxlength="25" /></td>
            <td width="38"><input type="image" src="img/login_btok.jpg" border="0" name="BT" width="38" height="23" /></td>
            <td width="116"><div align="left"><a href="cadastre.php" class="link_esqueceusenha">Cadastre-se</a><br>
                <a href="javascript:pop('lembrar_senha.php',350,245);" class="link_esqueceusenha">Esqueceu a senha?</a></div></td>
          </tr>
        </table>
      </div></td>
      <td width="31" height="56" background="img/login_2.jpg"> </td>
    </tr>
  </table>
</form>

 

Esse é o meu, posto q criei uma cópia para testes. Modifiquei apenas a linha identificada por uma seta:

 

_topo_a.php:

 

</script>
<form action="logar.php" style="MARGIN: 0pt" method="post" name="login" id="login" onsubmit="return valida_login(this)">
  <table width="486" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="30" height="56" background="img/login_1.jpg"> </td>
      <td width="425" valign="top" background="img/login_barra.jpg"><div align="left" style="margin-top:13px;">
        <table width="421" border="0" cellspacing="2" cellpadding="0">
          <tr>
            <td width="33"><div align="right" class="txt_login">Login:</div></td>
            <td width="92"><input name="logar_login" type="text" class="frm_senha2" id="logar_login" maxlength="25" /></td>
            <td width="36"><div align="right" class="txt_login">Senha:</div></td>
            <td width="92"><input name="logar_senha" type="password" class="frm_senha" id="logar_senha" maxlength="25" /></td>
            <td width="38"><input type="image" src="img/login_btok.jpg" border="0" name="BT" width="38" height="23" /></td>
            <td width="116"><div align="left"><a href="cadastre.php" class="link_esqueceusenha">Cadastre-se</a><br>
        ------->  <a href="javascript:pop('_lembrar_senha.php',350,245);" class="link_esqueceusenha">Esqueceu a senha?</a></div></td>
          </tr>
        </table>
      </div></td>
      <td width="31" height="56" background="img/login_2.jpg"> </td>
    </tr>
  </table>
</form>

 

Esse é o lembrar_senha.php:

 

<?
@include ("config/config.php");

$efet = $_GET['efet'];
$erro = $_GET['erro'];

if ($efet == "recuperar") {

	$email = $_POST['email'];
	
		@include("config/conecta.php");
		
		$sql="SELECT * FROM usuarios WHERE usu_email='$email'";
		$resultado = mysql_query($sql) or die ("Erro na instrução!");
		$registro = mysql_num_rows($resultado);
		
		if ($registro <> 1) {
			echo "<script> location.href='lembrar_senha.php?erro=1'</script>";
		} elseif ($registro == 1) {
			$user = mysql_fetch_array($resultado);
				$user_nome = $user["usu_nome"];
				$user_login = $user["usu_login"];
				$user_senha = $user["usu_senha"];
				$user_senha = base64_decode($user_senha);
				$user_email = $user["usu_email"];				
				
					//***************envio da mensagem
					$de = "MIME-Version: 1.0\r\n";
					$de .= "Content-Type: text/html; charset=utf-8\r\n";
					$de .= "From: ESQUECEU SUA SENHA?<futura@futurainvestimentos.com.br>";
					$corpo = "<style type='text/css'>
(...)

                                        $assunto = "$user_login. Esqueceu sua senha?";	
					$destino = $user_email;	
					mail($destino, $assunto, $corpo, $de);
					echo "<script> location.href='lembrar_senha.php?erro=2&                   user_login=$user_login'</script>";
					//********************************
		}
		
}
?>

(...)

<form action="lembrar_senha.php?efet=recuperar"  method="post" name="novo_usuario" id="novo_usuario" style="MARGIN: 0pt">
<table width="350" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
  <tr>
    <td height="106" colspan="5" valign="top" background="img/lemb_senha_01.jpg"> </td>
  </tr>
  <tr>
    <td height="37" colspan="5"><div align="center" class="txt_preto">
	<?
		if ($erro == 1) {
			echo "<div align='center' class='txterro'>Dados Incorretos!</div>";
		} elseif ($erro == 2) {
			$user_login = $_GET['user_login'];
			echo "<div align='center' class='txterro'>Olá <strong>$user_login</strong>. <br>Seus dados foram enviados para seu email com sucesso!</div>";
		} else {
			echo "<div align='center' class='txtdestaque'>Informe seu email corretamente!</div>";
		}		
		?>
    </div></td>
  </tr>
  <tr>
    <td height="17" colspan="5" valign="top" background="img/lemb_senha_03.jpg"> </td>
  </tr>
  <tr>
    <td width="46" height="23" valign="top" background="img/lemb_senha_04.jpg"> </td>
    <td width="164" background="img/lemb_senha_05.jpg"><div align="left"><input name='email' type='text' class='Form_lembbb' id='email' size='33' maxlength='70' />
    </div></td>
(...)

E o q eu modifiquei:

 

_lembrar_senha.php:

 

<?
@include ("config/config.php");

$efet = $_GET['efet'];
$erro = $_GET['erro'];

if ($efet == "recuperar") {

	----->  $loginrecuperar = $_POST['loginrecuperar'];
	
		@include("config/conecta.php");

	----->	$sql="SELECT * FROM usuarios WHERE usu_login='$login'";
		$resultado = mysql_query($sql) or die ("Erro na instrução!");
		$registro = mysql_num_rows($resultado);
		
		if ($registro <> 1) {
			echo "<script> location.href='lembrar_senha.php?erro=1'</script>";
		} elseif ($registro == 1) {
			$user = mysql_fetch_array($resultado);
				$user_nome = $user["usu_nome"];
				$user_login = $user["usu_login"];
				$user_senha = $user["usu_senha"];
				$user_senha = base64_decode($user_senha);
				$user_email = $user["usu_email"];				
				
					//***************envio da mensagem
					$de = "MIME-Version: 1.0\r\n";
					$de .= "Content-Type: text/html; charset=utf-8\r\n";
					$de .= "From: ESQUECEU SUA SENHA?<futura@futurainvestimentos.com.br>";
					$corpo = "<style type='text/css'>
(...)

<body>
<form action="lembrar_senha.php?efet=recuperar"  method="post" name="novo_usuario" id="novo_usuario" style="MARGIN: 0pt">
<table width="350" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
  <tr>
    <td height="106" colspan="5" valign="top" background="img/lemb_senha_01.jpg"> </td>
  </tr>
  <tr>
    <td height="37" colspan="5"><div align="center" class="txt_preto">
	<?
		if ($erro == 1) {
			echo "<div align='center' class='txterro'>Dados Incorretos!</div>";
		} elseif ($erro == 2) {
			$user_login = $_GET['user_login'];
			echo "<div align='center' class='txterro'>Olá <strong>$user_login</strong>. <br>Seus dados foram enviados para seu email com sucesso!</div>";
		} else {
		---->	echo "<div align='center' class='txtdestaque'>Informe seu login corretamente!</div>";
		}		
		?>
    </div></td>
  </tr>
<tr>
    <td height="17" colspan="5" valign="top" background="img/lemb_senha_03.jpg"> </td>
  </tr>
  <tr>
    <td width="46" height="23" valign="top" background="img/lemb_senha_04.jpg"> </td>
------>  <td width="164" background="img/lemb_senha_05.jpg"><div align="left"><input name='loginrecuperar' type='text' class='Form_lembbb' id='loginrecuperar' size='33' maxlength='70' />
    </div></td>

O banco de dados é esse, com seus referidos campos:

 

usu_codigo, usu_foto, usu_nome, usu_login, usu_senha, usu_cpf, usu_endereco, usu_numero, usu_bairro, usu_complemento e etc.

 

Enfatizo q, ao digitar o login, aparece sempre "Dados Incorretos!". Oq poderia vir a ser? Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Barbyzita !

 

Porquê você não depura dando um echo "$user_login" pra ver se os dados estão vindo do form de forma correta?

 

A principio não seria complicado, pois nesse caso o que você deveria fazer seria tão somente mudar $email = $_POST['email']; para $usu_login = $_POST['usu_login']; e o WHERE de usu_email='$email' para user_login = '$user_login'.

 

 

Qualquer coisa me ADD se puder que estou online no momento e posso te dar uma ajuda caso não consigas com essa dica.

 

Se responder por agora estou por aqui ainda alguns minutinhos e posso te dar um retorno.

 

att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá! N sei se ainda está conectado. De fato, é simples, mas n sei pq n está dando certo.

Qual o seu MSN?

 

Ah, só para enfatizar, eu já havia feito isso, como consta acima. ;)

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.