IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

PHP7 - MySQL - Valider Mot de Passe [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Par défaut PHP7 - MySQL - Valider Mot de Passe
    Bonjour à tous!

    Je me suis mis à l'apprentissage de PHP et MySQL et j'ai une question, sur la façon de valider la connexion d'un utilisateur.
    Ce n'est qu'une petite "application" pour moi-même pour apprendre.

    J'essai de suivre les indications du manuel PHP [ici]
    Il doit y avoir une subtilité qui m'échappe, mais je suis incapable de faire une validation avec le mot de passe "hashé".

    J'ai un page "registration.php" qui permet l'enregistrement d'un utilisateur.
    J'enregistre le mot de passe via cette fonction PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $hasedPassword = password_hash($_POST['regPassword'], PASSWORD_BCRYPT);
    Je suis en mesure de voir dans la BD que le hash s'est bien enregistré.

    Lorsque je test la connexion (login.php), je valide le mot de passe du formulaire avec celui stocké dans la BD avec la fonction password_verify, tel qu'indiqué dans la doc de php [ici] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $loginPassword = $_POST['loginPassword'];
     
    $sqlStm = $connection->prepary($query);
    $sqlStm->execute([$_POST['loginEmail']]);
    $res = $sqlStm->fetch();
     
    if (password_hash($loginPassword, $res['password']) === $res['password']){
      echo "Oui";
    } else {
      echo "Non";
    }
    De ce que je vois, la fonction password_hash / password_verify génère un hash différent à chaque exécution.
    Donc je ne comprends pas comment je peux réussir à valider le mot de passe?

    Qu'est-ce que je ne comprends pas ?

    Un Gros Merci!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Par défaut
    Bonjour,

    Il fallait bien que je prenne 2 jours à chercher le problème et qu'en 15 minutes, en écrivant le message, je réalise que c'est mon erreur !

    La validation n'était pas correct... aucune idée pourquoi je faisais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (password_hash($loginPassword, $res['password']) === $res['password'])
    Au lieu, de faire comme dans la doc (!!) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (password_hash($loginPassword, $res['password']))
    Ça fonctionne #1.


    Désolé pour le post initule ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire pour valider mot de passe
    Par info3licen dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 19/04/2009, 18h50
  2. Valider mot de passe avec la touche "entrée" du clavier
    Par Volcano_94 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/12/2008, 13h19
  3. Mysql convertir mot de passe en md5
    Par jcaspar dans le forum Administration
    Réponses: 18
    Dernier message: 04/09/2007, 09h30
  4. probleme connexion server mysql avec mot de passe
    Par jsdar dans le forum Débuter
    Réponses: 1
    Dernier message: 25/02/2007, 19h58
  5. [Stratégie] Connexion à MySQL avec mot de passe crypté
    Par Krishtov dans le forum Général Java
    Réponses: 5
    Dernier message: 08/03/2006, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo