Notice: Undefined index: pseudo in C:\wamp

mpl -  
 fatoumata -
Bonjour,

j'essaye de régler cette erreur mais sans résultat si quelqu'un peut donner un coup de main et merci

      <?php
//on demarre la session
session_start();

// condition !empty veut dire si $_SESSION['pseudo'] est different de vide 
// en effet ! veut dire inverse
if(!empty($_SESSION['pseudo'])){
   // Connexion à  la base de données

		   try
{
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=pfe', 'root', '', $pdo_options);
    
    // Récupération des 5 derniers messages
    $reponse = $bdd->query('SELECT pseudo, message,date FROM chat ORDER BY ID DESC LIMIT 0, 5');
    
    // Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
    while ($donnees = $reponse->fetch())
    {
		echo '<p><strong>' .($donnees['date']). '      ' .htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) .  '</p>';
    }
    
    $reponse->closeCursor();
}
catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}

$reponse->closeCursor();
}
?>
</td> 
  <tr>
    <td>
      <center>
    <form action="minichat_post.php" method="post">
  <p> </p>
  <p>
    <label for="pseudo">Pseudo</label> : <input type="text" name="pseudo" id="pseudo" value='<?php echo $_SESSION['pseudo']; ?>'  /><br /><br />
    <label for="message">Message</label> :  <input type="text" name="message" id="message" /><br />
    <br />
    <input type="submit" value="Envoyer" />
  </p>
    </form></center></td>
 </tr>

 </table>


6 réponses

php
 
j'ai pu corriger l'erreur en faisant ceci
value='<?php if (isset($_SESSION['pseudo'])){ echo $_SESSION['pseudo'];}?>'  />

mais si je n'envoie pas un message les messages du chat qui se trouve ne s'affiche pas
1
fatoumata
 
salut j'ai eu le même problème et ta solution m'a permis de le résoudre alors merci
0
Doctor C Messages postés 648 Statut Membre 399
 
Une erreur de type undefined index veut dire qu'un champ d'un tableau n'est pas initialisé. Dans ton cas, je suspecte la ligne:

if(!empty($_SESSION['pseudo'])){

que tu pourrais sûrement remplacer par:
if( isset($_SESSION['pseudo']) ){

Sinon, as-tu le numéro de la ligne où se trouve l'erreur?

Un peu d'info ici:
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index

Echo "Lima Mike Alfa";
0
php
 
salut
j'ai essayer avec isset mais c'est toujours la même erreur
voila la ligne 101
<label for="pseudo">Pseudo</label> : <input type="text" name="pseudo" id="pseudo" value='<?php echo $_SESSION['pseudo']; ?>'  /><br /><br />


Merci pour votre aide
0
Doctor C Messages postés 648 Statut Membre 399
 
Hmm, l'erreur semble vraiment être l'absence de l'index 'pseudo' dans ton tableau $SESSION.

Essaie sur la ligne précédente de taper:
print_r($SESSION);

pour afficher le contenu de ta session.

Tu pourras constater si quelquechose se trouve à l'index 'pseudo'.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
php
 
en faisant
 <?php print_r($SESSION); ?>
    <label for="pseudo">Pseudo</label> : <input type="text" name="pseudo" id="pseudo" value='<?php echo $_SESSION['pseudo']; ?>'  /><br /><br />
    <label for="message">Message</label> :  <input type="text" name="message" id="message" /><br />
    <br />
    <input type="submit" value="Envoyer" />


j'ai l'erreur:

Notice: Undefined variable: SESSION in C:\wamp\www\Site\site\chat.php on line 101
0
chico200987 Messages postés 856 Statut Membre 144
 
Salut,

C'est $_SESSION et non $SESSION ;)

Sinon, ce n'est pas une erreur, mais une NOTICE, une information..

Tu peux les desactiver en modifiant ton php.ini mais effectivement c'est toujours plus propre de ne pas en avoir du tout.

Tu peux essayer quelque chose comme :
<label for="pseudo">Pseudo</label> : 
<input type="text" name="pseudo" id="pseudo" value="'<?php (isset($_SESSION['pseudo'])) ? echo $_SESSION['pseudo'] : echo "" ?>'"  /><br /><br />
0