Fórum recuperar senha e enviar por email php #585399
29/08/2017
0
<?php
include "conexao.php";
$email = $_POST['email'];
$senha = $_POST['senha'];
//busca no db o usuario com o email
$result = pg_query("SELECT * FROM users WHERE user_login='$email'");
$num_rows = pg_num_rows($result);
if($num_rows=='1'){
while($Row_email = pg_fetch_array($result)){
$rowemail = $Row_email['email'];
$rowsenha = $Row_email['senha'];
}
$mensage ="Você solicitou a recuperação de senhha confira seu dados.";
$mensage .="E-mail= " . $rowemail;
$mensage .="Senha:" . $rowsenha;
mail($rowemail, "Ampola Comunicações, recuperação de senha", $mensage);
echo"<script>alert(Sua senha foi enviada para o e-mail indicado.)</script>";
}else{
echo"<script>alert('E-mail não cadastrado em nosso sistema')</script>";
}
?>
Gmdkr
Curtir tópico
+ 0Post mais votado
29/08/2017
~Talvez não seja uma regra, mas é uma boa prática. :)
Wilson Neto
Gostei + 2
Mais Posts
29/08/2017
Wilson Neto
$num_rows = pg_num_rows($result);
Caso não, faça o seguinte:
var_dump($num_rows)
E poste o resultado para gente. :)
Gostei + 1
30/08/2017
Alex William
Quando eu fazia esse esquema de "esqueceu sua senha?" eu colocava na tabela um campo a mais na tabela para receber uma senha aleatoria, então mandava ele confirmar alguns dados como e-mail cadastrado e CPF e talz.
Quando ele submetia esses dados, eu usava uma função que gerava uma senha aleatoria pra ele e mandava essa senha por e-mail. Quando ele acessasse o sistema o banco verificava se a senha tinha sido redefinida pela função, se sim, ele abria um formulario pro usuario colocar uma senha nova, pra não ficar com a senha redefinida.
Era a forma que eu utilizava, é uma forma bem arcaica de fazer, mas dá certo.
Gostei + 1
30/08/2017
Gmdkr
Gostei + 0
30/08/2017
Gmdkr
Gostei + 0
30/08/2017
Wilson Neto
Você consegue saber o que $num_rows ta recebendo do pg_num_rows de alguma maneira?
[url:descricao=var_dump()]http://php.net/manual/pt_BR/function.var-dump.php[/url] Ele apresenta inclusive o tipo do valor que está naquela variável, por isso comentei de postar por aqui.
A forma que Alekym mencionou é bacana.
Outra seria você gerar um token, um campo na tabela de usuário chamado token (por exemplo), dessa forma você encaminha um link para o email (quando requisitasse essa senha) e no link o token e o email, por exemplo, após acessar o link uma rotina que remova esse token assim que o usuário submeter o form com a senha nova.
Dessa forma é legal ter uma rotina que execute de tempos em tempos limpando os tokens que fossem expirados, tipo um token com duração de 24h seria removido após 24h por essa rotina. Só pra não deixar "lixo".
Bom, da pra aprimorar, é um exemplo. :)
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)