Authentification

avanos Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour jai bien essayer plusieurs codes mais cela m'apparaît très simple néanmoins il ya des erreurs avec Undefined index: pass in C:\wamp\www\code\verif2.php on line 13 if(($_SESSION["login"] == "") or($_SESSION['pass'] == "")) qui pourrez me corriger sinon me donner un code pr lauthentifcation merci
$_SESSION['login']=$_POST['login'];
$_SESSION['pwd']=$_POST['pwd'];
echo "your are very welcomme ".$_POST['login']."</br>" ; 


try {$bdd = new PDO('mysql:host=localhost;dbname=mentoring', 'root', '');}
catch (Exception $e) {die("L'accès à la base de donnée est impossible.");}


   if(($_SESSION["login"] == "") or($_SESSION['pass'] == ""))
    
              {   echo "veuillez saisir un login et un mot de passe"; }

    else {
      
       $st = $bdd->query("SELECT COUNT(*) FROM user WHERE login='".$_SESSION['login']."' AND pwd='".$_SESSION['pwd']."'")->fetch();
       echo "your are very welcomme ".$_POST['login']."</br>" ; 

         if ($st['COUNT(*)'] == 1)
          header("Location: membre.php");
}

?>



EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

L'erreur indique que la variable 'pass' n'existe pas dans l'array SESSION....
hors .. dans les premières lignes de ton code tu utilises 'pwd' et non 'pass' .....

Au cas où il te suffit de faire un print_r de ta variable SESSION pour savoir ce qu'elle contient réellement...
print_r($_SESSION);


NB: Pour minimiser ce genre de PB .. il faut récupérer proprement les variables AVANT de les utiliser via un ISSET ou !empty!

$login=!empty($_POST['login'])?$_POST['login']:NULL;
$pwd=!empty($_POST['pwd'])?$_POST['pwd'] : NULL;

if($login && $pwd){
  $sql = "SELECT COUNT(*) as NB FROM user 
              WHERE login='".$login."' 
                AND pwd='".$pwd."'";

    $st = $bdd->query($sql)
    $result = $st->fetch();

   if ($result['NB'] == 1){
     $_SESSION['login'] = $login;
     $_SESSION['pwd'] = $pwd;    
     header("Location: membre.php");
  }else{
    echo "Erreur : Utilisateur Inconnu !";
  }
}else{
 echo "veuillez saisir un login et un mot de passe"; 
}





Cordialement,
Jordane
0
avanos Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
mercii =)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0