Message erreur lors de la lecture de la base de donnée

mtteo_ght
Invité n'ayant pas de compte PHPfrance

29 mars 2022, 22:46

Bonjour à tous, je me suis lancer dans un projet mais pour limiter la duplication de compte je ne veux pas qu'il soit possible de mettre plusieurs fois le même email, téléphone et pseudo. J'ai établie un script qui fait que si le pseudo/email/n° de téléphone n'est pas présent dans la bdd alors cela me permet de continuer d'avancer dans le script et initialise une connexion avec $_SESSION (j'ai bien déclarer session_start au début du script) sauf que voila j'ai cinstament le message "Trying to access array offset on value of type bool" qui revient en permanence et je ne comprend pas :/

$infosUtilisateur = $bdd->prepare('select * from membres where pseudo = ? OR email = ? OR telephone = ?'); // Selectionne les données dans membres pour la vérification pseudo et email
$infosUtilisateur->execute(array($pseudo, $email, $telephone));
$verifUtilisateur = $infosUtilisateur->fetch();
$verifPseudo = $verifUtilisateur['pseudo'];    // Insère tous les pseudo dans la variable verifPseudo
$verifEmail = $verifUtilisateur['email'];  // Insère tous les email dans la variable verifEmail
$verifTelephone = $verifUtilisateur['telephone'];  // Insère tous les email dans la variable verifEmail

if(empty($verifEmail)){     // Si le email n'est pas
    if(empty($verifPseudo)){  // Si le pseudo n'est pas
        if(empty($verifTelephone)){  // Si le pseudo n'est pas utilisé alors
                                        
            $inserUtilisateur = $bdd->prepare('INSERT INTO membres(nom, prenom, pseudo, password, ville, telephone, email, genre, sexualite, jour, mois, annee)VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); // Insertion des valeurs dans la table membres de la bdd mais nous ne savons pas dans quelle case 
            $inserUtilisateur->execute(array($nom, $prenom, $pseudo, $password, $ville, $telephone, $email, $genre, $sexualite, $jour, $mois, $annee)); // Les valeurs sont inserées dans les case du tableau membres respectives
                                                                                                                                                   
            if($inserUtilisateur->rowCount() > 0){ // Si le nombre de données trouvé dans récupUser (donc qu'il existe) est supérieur à zéro alors
            //On peut continuer car nous savon que l'utilisateur existe
            
            $_SESSION['pseudo'] = $pseudo;  //le pseudo de session est égal à celui associer au sien dans la bdd
            $_SESSION['password'] = $password;  //Le mdp de session est égal à celui associer au sien dans la bdd
            $_SESSION['membreId'] = $inserUtilisateur->fetch()['membreId'];    //fetch vas extraire toutes les donées de recupUser et nous indiquons que nous voulons seulement l'ID car la valeur seras trasmise à l'id de session
            $_SESSION['nom'] = $inserUtilisateur->fetch()['nom']; //le nom de session est égal à celui associer au sien dans la bdd
            $_SESSION['prenom'] = $inserUtilisateur->fetch()['prenom'];//le prenom de session est égal à celui associer au sien dans la bdd

        }else
            echo'Numéro de téléphone d

    }
        echo'Pseudo 


    echo "Email 
}

Mammouth du PHP | 2703 Messages

29 mars 2022, 22:52

quelle est la ligne pointée par le message d'erreur ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

31 mars 2022, 00:30

Pour aider au debugage, passe la gestion des erreurs de PDO en mode WARNING
https://www.php.net/manual/fr/pdo.error-handling.php

Par ailleurs, tes 3 derniers echo sont malformés
Quand tout le reste a échoué, lisez le mode d'emploi...