Récupérer un mot de passe

Résolu
Chabanus Messages postés 978 Date d'inscription   Statut Membre Dernière intervention   -  
Chabanus Messages postés 978 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,

J'ai écris un code qui permet de récupérer un mot de passe à l'aide d'une réponse a une question que l'on a poser pendant l'inscription, l'utilisateur doit donc entrer son pseudo la question correspondante a son pseudo et la bonne réponse, voici le code :

<?php session_start();
require_once('conf.php');
if(isset($_POST['login']))
{
	$reponse=$_POST['reponse'];
	$question=$_POST['question'];
	$login = $_POST['login'];

$select="SELECT * FROM utilisateurs";
mysql_select_db($base,$global);
$result=mysql_query($select,$global);
while($fetch=mysql_fetch_array($result))
{ $login_base= $fetch['login'];
$question_base= $fetch['question'];
$reponse_base= $fetch['reponse'];
	if(($login == $login_base) && ($question == $question_base) && ($reponse=$reponse_base))
	{		
	$pass2=$fetch['pass2'];
	header("Location:message_index.php?trouver=$pass2&pass=ok"); //code 1
	}

	else 
	{
		header("Location:message_index.php?erreurx=formulaire"); // code 2
	}
}
}

?>


J'entre les bonne informations et on m'affiche le code 2 au lieu du code 1, vous avez une idée de d'où cela peut prevenir ?
Cordialement

A voir également:

2 réponses

kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Salut,

D'une part, une affectation au lieu d'une condition:
if(($login == $login_base) && ($question == $question_base) && ($reponse=$reponse_base))


D'autre part, il suffit que la première ligne de ta table utilisateur ne corresponde pas au login demandé pour que ça passe à la branche else directement.

Je dirais:
 $req = mysql_query("SELECT pass2 FROM utilisateurs WHERE login='$login' AND question='$question' AND reponse='$reponse'");

if (mysql_num_rows($req) == 0)
    header("Location:message_index.php?erreurx=formulaire");
else
    header("Location:message_index.php?trouver=" . mysql_result($req, 0) . "&pass=ok"); 

0
Chabanus Messages postés 978 Date d'inscription   Statut Membre Dernière intervention   70
 
Merci je vais essayer :)
0
Chabanus Messages postés 978 Date d'inscription   Statut Membre Dernière intervention   70
 
Super ça fonctionne :) merci
0