Ir para conteúdo

Arquivado

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

santos_s

Função recuperar senha php

Recommended Posts

Tenho uma função que gera um senha para que caso o usuário perca tente recupera-la, a função está funcionando normal, só que não consegui fazer para que execute a função somente se os dados forem confirmados com os dados do banco, segue.

	function senha_aleatoria(){
			$caracteres = "abcdefghijlmnopqrstuvxwz";
			// Recebe concatenado o nome da pessoa + o tempo
			$juncao = $caracteres.time();
			// Ele faz um md5 da variavel $aux e captura os 6 primeiros caracteres
			$senhagerada = substr(md5($juncao),0,6);
			echo"<center><font face=\"calibri\"color=\"#00000\">Senha alterada com sucesso !!<font>";
			echo "<center><font color='blue'><b>Sua nova Senha é :  ". $senhagerada."</b> </font></center>";
			return $senhagerada;			
	}

if(isset($_POST['enviar'])){
	$usuario		=$_POST['nome'];
	$cpf		    	=$_POST['cpf'];
	$rg		       	=$_POST['rg'];
	$datanascimento   	=$_POST['datanascimento'];
	$matricula		=$_POST['matricula'];
	$masterkey 		=$_POST['masterkey'];
	$senha			=md5(senha_aleatoria());
                 /******************Busca no banco de dados********/
	$sql_busca = mysql_query("SELECT * FROM usuarios WHERE nome = '$usuario'");
		$result_busca = mysql_fetch_assoc($sql_busca);
		$usuariobanco=$result_busca['nome'];//Armazena os valores nas variaveis
		$cpfbanco=$result_busca['cpf'];
		$rgbanco=$result_busca['rg'];
		$datanascimentobanco=$result_busca['datanascimento'];
		$matriculabanco=$result_busca['matricula'];
		$masterkeybanco=$result_busca['masterkey'];
		    if($usuario != $usuariobanco){
			echo "<script> loginfailed()</script>";
			echo"<center><br><font face=\"calibri\"color=\"#FF0000\">Nome do usuário Informado não está cadastrado em nossa base de dados!<font><center>";
			if ($cpf != $cpfbanco){
			    echo "<script> loginfailed()</script>";
			    echo"<center><br><font face=\"calibri\"color=\"#FF0000\">CPF Informado não está cadastrado em nossa base de dados!<font><center>";
			    }if ($rg != $rgbanco){
				echo "<script> loginfailed()</script>";
				echo"<center><br><font face=\"calibri\"color=\"#FF0000\">RG Informado não está cadastrado em nossa base de dados!<font><center>";
				}if ($datanascimento != $datanascimentobanco){
				    echo "<script> loginfailed()</script>";
		                    echo"<center><br><font face=\"calibri\"color=\"#FF0000\">Data de nascimento Informada não está cadastrado em nossa base de dados!<font><center>";
				    }if ($matricula != $matriculabanco){
					echo "<script> loginfailed()</script>";
					echo"<center><br><font face=\"calibri\"color=\"#FF0000\">Matricula Informada não está cadastrado em nossa base de dados!<font><center>";
					}if ($masterkey != $masterkeybanco){
					    echo "<script> loginfailed()</script>";
					   echo"<center><br><font face=\"calibri\"color=\"#FF0000\">Palavra Chave Informada não está cadastrado em nossa base de dados!<font><center>";
				         }
					    }else{
						$update = mysql_query("UPDATE usuarios SET senha='$senha' WHERE nome='".$usuario."';");
					   }
			}

						


Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual erro exatamente retorna? Ele não altera a senha? Mesmo se os campos estiverem corretos ele retorna erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual erro exatamente retorna? Ele não altera a senha? Mesmo se os campos estiverem corretos ele retorna erro?

Na verdade ele não alterar a senha, mais chama a função e exibe a mensagem: Senha Alterar com sucesso, exibe a senha com se ela tivesse sido alterada.

 

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para recuperação de senha eu faço a opção do usuário criar a nova senha...

 

Na parte de recuperar ele digita o email, crio em uma tabela o email dele e um codigo com md5... mando o link pro email dele com esse codigo md5...

 

Ai ele acessa o link e troca a senha do email de acordo com o md5... dps de alterar a senha deleto o codigo da tabela...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade ele não alterar a senha, mais chama a função e exibe a mensagem: Senha Alterar com sucesso, exibe a senha com se ela tivesse sido alterada.

 

 

Abraço.

Corrigindo, no caso de os campos forem corretos ele está funcionando normal, meu problema é se os campos estiverem incorretos, que no caso não é pra chamar a função e exibir a mensagem de Senha Alterar com sucesso, exibe a senha com se ela tivesse sido alterada.

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.