Ir para conteúdo

POWERED BY:

Arquivado

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

Yuri Vidal

[Resolvido] Erro recuperação de senha - mysql+php

Recommended Posts

toda vez que tento recuperar a senha da o erro: Seu login ou email está incorreto.

 

há algo errado no código abaixo?

 

 

<?
include "config.php"; //inclui o arquivo de configurações

$db   = mysql_connect ($host, $login_db, $senha_db); //conecta ao mysql
$basedados = mysql_select_db($database); //conecta a base de dados

$confirmacao = mysql_query("SELECT * FROM accounts WHERE login = '$login' AND email = '$email' ", $db); //verifica se o login e a email conferem
  while ($row = mysql_fetch_array($confirmacao)) {
    $login = $row["login"]; //adiciona a variavel $login o login do usuario
$password = $row["password"]; //adiciona a variavel $senha a senha do usuario
    $email = $row["email"]; //adiciona a variavel $email o email do usuario
}

$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima

if ( $contagem == 1 ) {
  $msg  = "Recuperação de senha" . chr(13) . chr(10);
  $msg .= "Senha enviada em " . date("d/m/Y") . ", os dados seguem abaixo: " . chr(13) . chr(10) . chr(10);
  $msg .= "Login : " . $login . chr(13) . chr(10);
  $msg .= "Email : " . $email . chr(13) . chr(10);
  $msg .= "Senha : " . $password . chr(13) . chr(10);

  $Remetente = "atendimento@brteam.com.br"; //remetente do email, coloque o email do seu site

  mail($email, "Recuperação de Senha",$msg,"From: $Remetente"); //campos do email na ordem, email destinho (não deve ser alterada), assunto, conteudo (não deve ser alterado), remetente (também não altere)
  
  echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Sua senha foi enviada com sucesso para o email: $email.</font></div>"; //resposta se o email foi enviado com sucesso
  } else {
    echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Seu login ou email está incorreto.</font></div>"; //resposta se não foi possivel enviar o email
}
?>

 

fico no aguardo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seja mais claro quanto ao problema.

 

Não está chegando ao e-mail a senha, é isto?

Já tentou imprimir a senha na página pra ver se está vindo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize assim:

<?
include "config.php"; //inclui o arquivo de configurações

$db   = mysql_connect ($host, $login_db, $senha_db); //conecta ao mysql
$basedados = mysql_select_db($database); //conecta a base de dados

$confirmacao = mysql_query("SELECT * FROM accounts WHERE login = '$login' AND email = '$email' ", $db); //verifica se o login e a email conferem
  if ($row = mysql_fetch_array($confirmacao)) {
    $login = $row["login"]; //adiciona a variavel $login o login do usuario
$password = $row["password"]; //adiciona a variavel $senha a senha do usuario
    $email = $row["email"]; //adiciona a variavel $email o email do usuario

  $msg  = "Recuperação de senha" . chr(13) . chr(10);
  $msg .= "Senha enviada em " . date("d/m/Y") . ", os dados seguem abaixo: " . chr(13) . chr(10) . chr(10);
  $msg .= "Login : " . $login . chr(13) . chr(10);
  $msg .= "Email : " . $email . chr(13) . chr(10);
  $msg .= "Senha : " . $password . chr(13) . chr(10);

  $Remetente = "atendimento@brteam.com.br"; //remetente do email, coloque o email do seu site

  mail($email, "Recuperação de Senha",$msg,"From: $Remetente"); //campos do email na ordem, email destinho (não deve ser alterada), assunto, conteudo (não deve ser alterado), remetente (também não altere)
  
  echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Sua senha foi enviada com sucesso para o email: $email.</font></div>"; //resposta se o email foi enviado com sucesso
  } else {
    echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Seu login ou email está incorreto.</font></div>"; //resposta se não foi possivel enviar o email
}
?>

Não ha necessidade de utilizar o WHILE, se você está buscando UM login e e-mail, se houver mais de um IGUAL é por que na hora do cadastro você está permitindo que haja repetição de login ou e-mail, isso deve ser UNICO, pelo menos um dos Dois...

 

Caso continue dando erro, não esqueça de Verificar, se as variaveis $login e $email estão chegando corretamente, declare o codigo todo como comentário e imprima as variaveis para saber se estão chegando OK...

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está certo berseck, mas nós podemos codificar a senha digitada!

 

Exemplo, o usuario acdastra a senha 123! Aí você usa md5! Como faço entao para verificar se a senha existe? Basta fazer isso:

 

<?php
$senha=$_POST["senha"];
$senha=md5($senha)
mysql_query("SELECT senha FROM tabela WHERE senha='$senha'");
?>
Viu? Fazemos do mesmo jeito na hora do cadastro da senha! MD5 nela!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está certo berseck, mas nós podemos codificar a senha digitada!

 

Exemplo, o usuario acdastra a senha 123! Aí você usa md5! Como faço entao para verificar se a senha existe? Basta fazer isso:

 

<?php
$senha=$_POST["senha"];
$senha=md5($senha)
mysql_query("SELECT senha FROM tabela WHERE senha='$senha'");
?>
Viu? Fazemos do mesmo jeito na hora do cadastro da senha! MD5 nela!

 

Tudo bem, vai selecionar uma linha no BD, mas... vai enviar para o usuário o MD5 da senha?

 

Yuri, na linha...

$confirmacao = mysql_query("SELECT * FROM accounts WHERE login = '$login' AND email = '$email' ", $db); //verifica se o login e a email conferem
Onde essas variáveis $login e $email estão sendo declaradas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse negócio de enviar a senha por email nao vai dar certo se você armazena ela como MD5 no banco.

 

Neste caso é melhor você gerar uma senha randomica atualizar no banco essa nova senha e enviar para o email solicitando que o usuário modifique após se logar novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse negócio de enviar a senha por email nao vai dar certo se você armazena ela como MD5 no banco.

 

Neste caso é melhor você gerar uma senha randomica atualizar no banco essa nova senha e enviar para o email solicitando que o usuário modifique após se logar novamente.

 

ok obrigado.

 

 

Você está certo berseck, mas nós podemos codificar a senha digitada!

 

Exemplo, o usuario acdastra a senha 123! Aí você usa md5! Como faço entao para verificar se a senha existe? Basta fazer isso:

 

<?php
$senha=$_POST["senha"];
$senha=md5($senha)
mysql_query("SELECT senha FROM tabela WHERE senha='$senha'");
?>
Viu? Fazemos do mesmo jeito na hora do cadastro da senha! MD5 nela!

 

Tudo bem, vai selecionar uma linha no BD, mas... vai enviar para o usuário o MD5 da senha?

 

Yuri, na linha...

$confirmacao = mysql_query("SELECT * FROM accounts WHERE login = '$login' AND email = '$email' ", $db); //verifica se o login e a email conferem
Onde essas variáveis $login e $email estão sendo declaradas?

 

não sei exaamente como elas tao salva mais é algo L2... não é md5, é uma outra codificação que eu deconheço, eu consegui fazer d eoutra maneira achei um sietam na net para meu server l2 e ele ja tem a opção do usurario logar e trocar sua senha... mais tard eeu vejo como fazer para recuperar via e-mai... :S obrigado pela atenção.

 

para saber como ficou: http://l2.brteam.com.br/l2painel/index.php

 

 

obrigado a todos pelo apoio.

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.