Page 1 sur 1

Problème d'affichage du nom des utilisateurs

Posté : 12 janv. 2021, 17:53
par kazed8
Bonjour, j'ai un problème avec mon code: il y'a une page de connexion et une fois que je me connecte je souhaite afficher le nom de l'utilisateur et son email et ca marche parfaitement avec :

Code : Tout sélectionner

<?= htmlspecialchars($_SESSION['nom']); ?> <br/> <?= htmlspecialchars($_SESSION['email']); ?>
En effet, aucun problème.

Le problème apparaît quand je me déconnecte puis me reconnecte cela m'affiche à la place du nom et de l'email Undefined index: nom et

Undefined index: email.

Besoin d'aide svp :/ je ne vois pas d'où peut venir le problème étant donnée que lors de la première connexion le nom et email sont affichés.
De plus, aucun problème pour afficher le pseudo: ce bug n'apparaît que pour l'affichage du nom et de l'email.

Cordialement.

Re: Problème d'affichage du nom des utilisateurs

Posté : 12 janv. 2021, 18:38
par or 1
il faudrait avoir le script qui met quelque chose dans $_SESSION

Re: Problème d'affichage du nom des utilisateurs

Posté : 13 janv. 2021, 12:35
par Ryle
Salutations !

Le problème vient du fait que tu affiches la valeur contenu dans $_SESSION['nom'] sans vérifier au préalable si celle-ci existe. Quand tu es déconnecté, l'index "nom" n 'existe pas dans ta variable $_SESSION, d'où le message d'avertissement.

Il te faut donc vérifier l'existence de la variable (ou de l'index en l'occurrence), avant de l'utiliser :
<?php
if (isSet($_SESSION['nom'])) 
  echo htmlspecialchars($_SESSION['nom']); 
else // optionnel
  echo 'Vous n\'êtes pas connecté.';
?> 
Même chose pour "email" et d'une manière générale à chaque fois que tu utilises une variable ou un index dont tu n'es pas sur qu'il a été défini précédemment :)