Stockage en BD et vérification d'un mot de passe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Stockage en BD et vérification d'un mot de passe

Re: Stockage en BD et vérification d'un mot de passe

par @rthur » 23 juin 2015, 13:47

Bonjour,
SELECT Id_user FROM NM_utilisateur
Tu n'aurais pas oublié de demander à récupérer le mot de passe dans ta requête SELECT ?

Stockage en BD et vérification d'un mot de passe

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,