Notice: Undefined index

Raja59 -  
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

3 réponses

diablo13800 Messages postés 2890 Date d'inscription   Statut Membre Dernière intervention   1 860
 

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;

0
Raja59
 

Merci pour votre réponse, je vais essayer ça et je reviens vers vous !

0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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


0