Problème confirmation en BDD

Résolu
ChifFlam Messages postés 61 Statut Membre -  
ChifFlam Messages postés 61 Statut Membre -
Bonjour, Quand je veux vérifier si "confirme" == 0 c'est à dire de savoir si l'utilisateur à confirmer son compte avec le code si dessous :
if (isset($_GET['pseudo'], $_GET['key']) AND !empty($_GET['pseudo']) AND !empty($_GET['key'])) {
$pseudo = htmlspecialchars(urldecode($_GET['pseudo']));
$key = htmlspecialchars($_GET['key']);

$requser = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ? AND confirmkey = ?");
$requser-> execute(array($pseudo, $key));
$userexist = $requser->rowCount();

if ($userexist == 1) {
$user = $requser->fetch();
if ($user['confirme'] == 0) {
$updateuser = $bdd->prepare("UPDATE membres SET confirme = 1 WHERE pseudo = ? AND confirmkey = ?");
$updateuser->execute(array($pseudo, $key));
echo "Votre compte a bien été confirmé";
}


Il me retourne cette erreur : Fatal error: Uncaught Error: Cannot use object of type stdClass as array à la ligne 27 soit "if($user['confirme'] == 0"

Merci d'avance !

1 réponse

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    L'erreur indique que tu ne peut pas utiliser la variable $user comme un tableau car il s'agit d'un objet :
    if ($user->confirme == 0)


    Au passage, l'utilisation de htmlspecialchars sur les données avant l'insertion en bdd n'est pas recommandée.

    Bonne journée,
    1
    1. ChifFlam Messages postés 61 Statut Membre 1
       
      Aaah merci beacoup Pitet :D !

      Bonne journée !
      0