Conditionner un login et mot de passe en php

Bonjour, svp j'aimerai savoir comment conditionner un mot de passe et un login en php avec les information contenue dans la base de donnée

1 réponse

  1. Bonjour,
    C'est plutôt vague comme question !

    //Si l'utilisateur essaye de se connecter 
    if(!empty($_POST)) { 
        $errors = ''; 
    
        if(!isset($_POST['username']) OR empty($_POST['username'])) { 
            $errors .= 'Vous avez oublier le nom d\'utilisateur.<br />'; 
        } 
    
        if(!isset($_POST['pass']) OR empty($_POST['pass'])) { 
            $errors .= 'Vous avez oublier le mot de passe.'; 
        } 
    
        //Si aucune erreur 
        if(empty($errors)) { 
            $req = $bdd->prepare('SELECT * FROM users WHERE username = :user'); 
            $req->bindParam(':user', $_POST['username'], PDO::PARAM_STR); 
            $req->execute(); 
            $data = $req->fetch(); 
    
            //Si l'utilisateur existe dans la BD 
            if(!empty($data)) {
                //Si le mot de passe est correct, alors la connexion a réussi
                if($data['passw'] == sha1($_POST['pass'])) { 
                    //Exemple
                    $_SESSION['username'] = $_POST['username'];
                } 
                else { 
                    $errors .= 'Mot de passe incorrect.'; 
                } 
            } 
            else { 
                $errors .= 'Nom d\'utilisateur incorrect.'; 
            } 
        } 
    
        //Si il y a des erreurs, on affiche 
        if(!empty($errors)) echo $errors; 
    }


    Voila, donc voici un script assez simple !
    - J'ai utiliser PDO comme méthode de connexion a la base de données.
    - Les mot de passes enregistrés dans la BD sont crypté avec la fonction sha1.
    - Le formulaire doit contenir 2 champs textes (username et pass).
    - La table des utilisateurs se nomme "users" et doit contenir au moins le champ "username" et "passw".

    Mettez en résolu quand c'est résolu -.- ...
    0