Conditionner un login et mot de passe en php

alidabertille Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
JooS Messages postés 2705 Statut Membre -
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. JooS Messages postés 2705 Statut Membre 228
     
    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