Undefined index

Résolu
AlexGamer57 Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   -  
AlexGamer57 Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un problème avec PHP : j'ai fait une page d'inscription et je suis en train de créer une page de connexion. Le formulaire de connexion apparait sur toutes les pages et renvoie vers la page index.php. J'ai un message d'erreur "undefined index" que je n'arrive pas à résoudre. Voici le code du header :

if( // Par défaut )   
{   
   // On affiche le formulaire   
   include('includes/header_connect.php');   
}   
elseif( // Si on a rien écrit )   
{   
   // On affiche le formulaire + un message d'erreur   
   include('includes/header_erreur.php');   
}   
elseif( // Si tout est bon )   
{   
   try   
   {   
      $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;   
      $bdd = new PDO('mysql:host=localhost;dbname=bdd', 'root', '', $pdo_options);   
   }   
   catch(Exception $e)   
   {   
      die('Erreur : '.$e->getMessage());   
   }   
      
   $mdp_hache = sha1($_POST['mdp_connexion']);   
      
   $reponse_connexion = $bdd->query('SELECT id FROM membres WHERE pseudo = \'' . $_POST['pseudo_connexion'] . '\' AND mdp = \'' . $mdp_hache . '\'');   
   $reponse_connexion->execute(array(   
    'pseudo' => $_POST['pseudo_connexion'],   
    'mdp' => $mdp_hache));   

   while($donnees_connexion = $reponse_connexion->fetch())   
   {   
      // Si le pseudo et le mdp sont bons, on crée une session   
      if ($donnees_connexion)   
      {   
    $_SESSION['id'] = $donnees_connexion['id'];   
    $_SESSION['pseudo'] = $donnees_connexion['pseudo'];   
        
    include('includes/header_connected.php');   
 }   
 else   
 {   
    include('includes/header_erreur.php');   
 }   
   }   
   $reponse_connexion->closeCursor();   
}   
elseif( // Si la session a été créée)   
{   
   // On affiche le pseudo et un lien pour se déconnecter   
   include('includes/header_connected.php');   
}   


Mon problème est au niveau de la création de la session : dans le if($donnees_connexion). Quand je vais sur mon site et que j'entre le bon pseudo et le bon mot de passe et que j'appuie sur le bouton pour se connecter, une erreur s'affiche :

Notice: Undefined index: pseudo in C:\wamp\www\mon_site\includes\header.php on line 36

La ligne 36 est celle-ci :

$_SESSION['pseudo'] = $donnees_connexion['pseudo'];

php ne reconnait pas la variable $donnees_connexion['pseudo']... comment régler ce problème ? Merci d'avance !

A voir également:

2 réponses

A.Nonymous
 
"SELECT id FROM membres [...]"

Le SQL ne sélectionne que "id", et donc pas "pseudo"
2
AlexGamer57 Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   12
 
Merci ! Je n'avais pas pensé à vérifier ma requête... Problème résolu !
0
lili34500 Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   16
 
Ta variable est un tableaux donc informe PHP

$ta_variable = array();
0