Notice: Undefined index
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je viens vers vous car je me trouve bloqué dans mon code PHP. Je suis un tuto sur youtube qui nous apprend à créer un forum, j'en suis au niveau de l’authentification de l'utilisateur mais plusieurs erreurs apparaissent et je ne suis pas en mesure des les régler. après plusieurs recherches sur le net et dans d'autres forums je n'y arrive toujours pas. Je suis débutant en PHP, mais j'ai pourtant bien suivi les différentes étapes du tutoriel. Voici mon morceau de code :
<?php require('database.php'); //Validation du formulaire if(isset($_POST['validate'])){ //Vérifier si l'user a bien complété tous les champs if(!empty($_POST['pseudo']) AND !empty($_POST['lastname']) AND !empty($_POST['firstname']) AND !empty($_POST['password'])){ //Les données de l'user $user_pseudo = htmlspecialchars($_POST['pseudo']); $user_lastname = htmlspecialchars($_POST['lastname']); $user_firstname = htmlspecialchars($_POST['firstname']); $user_password = password_hash($_POST['password'], PASSWORD_DEFAULT); //Vérifier si l'utilisateur existe déjà sur le site $checkIfUserAlreadyExists = $bdd->prepare('SELECT pseudo FROM users WHERE pseudo = ?'); $checkIfUserAlreadyExists->execute(array($user_pseudo)); if($checkIfUserAlreadyExists->rowCount() == 0){ //Insérer l'utilisateur dans la bdd $insertUserOnWebsite = $bdd->prepare('INSERT INTO users(pseudo, nom, prenom, mdp)VALUES(?, ?, ?, ?)'); $insertUserOnWebsite->execute(array($user_pseudo, $user_lastname, $user_firstname, $user_password)); //Récupérer les informations de l'utilisateur $getInfosOfThisUserReq = $bdd->prepare('SELECT id, pseudo, nom, prenom FROM users WHERE nom = ? AND prenom = ? AND pseudo = ?'); $getInfosOfThisUserReq->execute(array($user_lastname, $user_firstname, $user_pseudo)); $usersInfos = $getInfosOfThisUserReq->fetchAll(); //Authentifier l'utilisateur sur le site et récupérer ses données dans des variables globales sessions $_SESSION['auth'] = true; $_SESSION['id'] = $usersInfos['id']; $_SESSION['lastname'] = $usersInfos['nom']; $_SESSION['firstname'] = $usersInfos['prenom']; $_SESSION['pseudo'] = $usersInfos['pseudo']; //Rediriger l'utilisateur vers la page d'accueil header('Location: ../index.php'); exit; }else{ $errorMsg = "L'utilisateur existe déjà sur le site"; } }else{ $errorMsg = "Veuillez compléter tous les champs..."; } }
Voilà les erreurs affichées

Je vous remercie d'avance pour votre aide!
Windows / Firefox 102.0
- Notice: Undefined index
- Notice gratuite - Guide
- Notice chromecast - Guide
- Notice télécommande universelle grundig - Forum Téléviseurs
- Homday x-pert écouteur bluetooth notice ✓ - Forum Casque et écouteurs
- Uleway g381 notice - Forum Mobile
3 réponses
Bonjour,
Votre erreur semble se concentré sur un index de votre variable $usersInfos.
Essayer d'afficher ce qu'elle contient après votre requête avec un var_dump
var_dump($usersInfos);die;
Bonjour,
Je t'invite à lire ceci ( valable pour toutes les variables de type array )
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index