par
Charlotte » 23 juin 2015, 13:35
Bonjour,
Voilà plusieurs jours que je planche sur comment stocker correctement un mot de passe puis le comparer avec le mot de passe rentré par l'utilisateur... je crois avoir un peu tout essayé, mais le résultat reste invariable : les deux mots de passe ne sont pas considérés identiques.
En gros et pour simplifier quand je créé l'utilisateur je fais ça :
$mot_passe = password_hash($_POST['password'], PASSWORD_BCRYPT);
$query = mysql_query('INSERT INTO NM_utilisateur (password, nom, prenom, mail, ....) VALUES ("'.$mot_passe.'", "'. $_POST["nom"].'", "'. $_POST['prenom'].'", "'.$_POST['mail'].'",....') or die (mysql_error());
Quand je veux le tester je fais ça :
$query = mysql_query("SELECT Id_user FROM NM_utilisateur WHERE NM_utilisateur.mail = '".$mail."' ") or die(mysql_error());
if($data = mysql_fetch_array($query))
{
$Id_user = $data['Id_user'];
$mot_passe = $data['password'];
if(password_verify($_POST["password"], $mot_passe))
{
$_SESSION['s_Id'] = $Id_user;
....
$pass = true;
}
else
{
$error = "Le mot de passe est incorrect.";
}
}
Si vous voyez où est le problème moi je ne vois plus...
Merci d'avance pour vos commentaires,