Problème confirmation en BDD

Résolu/Fermé
ChifFlam Messages postés 58 Date d'inscription dimanche 21 août 2016 Statut Membre Dernière intervention 26 avril 2017 - Modifié par ChifFlam le 23/08/2016 à 17:53
ChifFlam Messages postés 58 Date d'inscription dimanche 21 août 2016 Statut Membre Dernière intervention 26 avril 2017 - 24 août 2016 à 12:34
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

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
24 août 2016 à 11:22
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
ChifFlam Messages postés 58 Date d'inscription dimanche 21 août 2016 Statut Membre Dernière intervention 26 avril 2017 1
24 août 2016 à 12:34
Aaah merci beacoup Pitet :D !

Bonne journée !
0