Partage
  • Partager sur Facebook
  • Partager sur Twitter

Vérification mot de passe hashé

Sujet résolu
    22 mars 2019 à 9:56:31

    Bonjour à tous,

    Je suis actuellement en train de coder un espace membre, et pour cela je dois créer une page de connexion.
    Cependant, malgré que le code ne contienne pas d'erreur apparente, le formulaire me dit toujours que le mail ou le mot de passe n'est pas correct alors que si (puisque j'ai créé le profil juste avant, ahaha)

    Je vous met le code php juste après, merci par avance pour votre aide !

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8"/>
            <title>Connexion</title>
            <link href="inscription.css" rel="stylesheet"/>
        </head>
    
        <body>
    
        <div id="container">
            <form id="form1" action="connexion.php" method="POST">
            <fieldset>
            <p class="first">
                <label for="pseudo">Pseudo</label>
                    <input type="text" name="pseudo" id="pseudo"/><br/>
            </p>
            <p>
                <label for="mdp">Mot de passe</label>
                    <input type="password" name="mdp" id="mdp"/><br/>
            </p>
            <p>
                <label for="connec_auto">Connexion automatique</label>
                    <input type="checkbox" name="connec_auto" id="connec_auto"/>
            </p>    
            
            </fieldset>
    
                <p class="submit"><input type="submit" value="Envoyer" id="envoyer"/></p>
            
            </form>
            </div>
    <?php
    //Connexion bdd
    try
    {
        $bdd = new PDO('mysql:host=localhost;dbname=espace_membre;charset=utf8','root','');
    }
    catch(Exception $e)
    {
        Die('Erreur : '.$e->getMessage());
    }
    if(isset($_POST['pseudo'])&& isset($_POST['mdp']))
    {
        $pseudo = $_POST['pseudo'];
        $pass = $_POST['mdp'];
        
    
    //Récupération de l'utilisateur et de son mdp
    $req = $bdd->prepare('SELECT id, pass FROM membres WHERE pseudo = $pseudo');
    $req->execute(array(
        'pseudo' => $pseudo));
    $resultat = $req->fetch();
    
    //Comparaison du pass envoyé via le formulaire avec la base
    $isPasswordCorrect = password_verify($pass, $resultat['pass']);
    
    if(!$resultat)
    {
        echo 'Mauvais identifiant ou mot de passe !';
    }
    else
    {
        if($isPasswordCorrect){
            session_start();
            $_SESSION['id'] = $resultat['id'];
            $_SESSION['pseudo'] = $pseudo;
            echo 'Vous êtes connecté !';
        }
        else{
            echo 'Mauvais identifiant ou mot de passe !';
        }
    }
    }
    ?>
        </body>
    </html>



    • Partager sur Facebook
    • Partager sur Twitter

    L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.

      22 mars 2019 à 10:03:47

      C'est pas $pseudo dans la requête mais :pseudo
      • Partager sur Facebook
      • Partager sur Twitter
        22 mars 2019 à 10:05:10

        ... Je ne dirais rien quant à ma bêtise.
        Merci beaucoup pour ta réponse rapide !
        • Partager sur Facebook
        • Partager sur Twitter

        L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.

        Vérification mot de passe hashé

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown