Php Notice: Undefined index:
RésoluJe fait sans doute un de mes premiers site web en php et j'ai un formulaire(menu.php) qui envoie mes donner à cible.php et je veux que si l'utilisateur a déjà entré ses identifiants le menu (menu.php) affiche sont nom avec le menu déconnexion mais lorsque je fait un echo:
echo "$username";
et bien sa maffiche cette erreur: Notice: Undefined index: username in C:\wamp\www\menu.php on line 13
à cette ligne il y a ceci:
$username = $_POST['username'];
si vous pouvez m'aider s.v.p. :)
17 réponses
Problème rencontré : un formulaire PHP transmet des données via $_POST et une erreur Notice Undefined index: username apparaît lorsque la page est chargée sans soumission. La solution préconisée consiste à tester l'existence de la clé 'username' avec isset avant d'affecter sa valeur, afin d'éviter l'erreur lorsque le formulaire n'a pas encore été envoyé. D'autres conseils suggèrent d'ajouter un nom au bouton et de vérifier le déclenchement du traitement via isset sur ce bouton, tout en alignant clairement l'utilisation des méthodes POST et GET. En termes de perspective pratique, certaines interventions intègrent aussi la gestion par session (session_start()) et le stockage côté serveur, pour afficher le nom après connexion sans dépendre uniquement de $_POST lors du chargement initial.
-
Bonjour,
lorsque tu es confronté à ce genre de problème (undefined index username) ça veut dire que l'array $_POST ne possède pas de clé (index) 'username' dans sa liste.
Et pour dans ton cas, lors du chargement de la page la première fois, le formulaire n'étant pas envoyé, la variable $_POST['username'] n'existe pas. Résultat PHP pleure car ne sait pas quoi faire de cette variable.
Solution : remplacer
$username = $_POST['username'];
par
if (isset($_POST['username'])) { $username = $_POST['username']; }
ça c'est pour changer au minimum ton code actuel, mais il y a plus propre ^^