Résolu [PHP] Erreur Cannot use object of type stdClass as array in

Statut
N'est pas ouverte pour d'autres réponses.

Rémi C

Premium
Inscription
11 Novembre 2014
Messages
149
Réactions
7
Points
13 751
RGCoins
25
Bonsoirs,
Ses encore moi :)
J'obtient l'erreur la
PHP:
Fatal error: Cannot use object of type stdClass as array in login.php on line 61

Mon code :
PHP:
                                      if (isset($_POST['log']))
                                      {
                                                $username = htmlspecialchars($_POST['username']);
                                                $password = sha1($_POST['password']);
                                                if(!empty($_POST['username']) and !empty($_POST['password']))
                                                {
                                                             $requser = $bdd->prepare("SELECT * FROM users WHERE username = ?");
                                                             $requser->execute(array($username));
                                                             $userexist = $requser->rowCount();
                                                             if($userexist == 1)
                                                             {

                                                                            $reqkey = $bdd->prepare("SELECT confirme FROM users WHERE username = ? and password = ?");
                                                                            $reqkey->execute(array($username, $password));
                                                                            $keyvalide = $reqkey->fetchColumn(0);
                                                                            if($keyvalide == 1)
                                                                          {
                                                                                       $reqpassword = $bdd->prepare("SELECT * FROM users WHERE username = ? and password = ?");
                                                                                       $reqpassword->execute(array($username, $password));
                                                                                       $userexist = $reqpassword->rowCount();
                                                                                       if($userexist == 1)
                                                                                       {
                                                                                                    $reqinfo = $reqpassword->fetch();
                                                                                                    $_SESSION['id'] = $reqinfo['id'];
                                                                                                    $_SESSION['username'] = $reqinfo['username'];
                                                                                                    $_SESSION['password'] = $reqinfo['password'];
                                                                                                    $_SESSION['mail'] = $reqinfo['mail'];
                                                                                                    $_SESSION['grade'] = $reqinfo['grade'];
                                                                                                    $_SESSION['ip'] = $reqinfo['ip'];
                                                                                                    $_SESSION['date_ins'] = $reqinfo['date_ins'];
                                                                                                    echo  "<div class='alert alert-success'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button><strong>Sucess :</strong>Vous étes bien inscrit vous allez étes rediriger automatiquement</div>";
                                                                                                    header("Location: users/index.php");
                                                                                       }
                                                                                       else
                                                                                       {
                                                                                                    echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong>Erreur :</strong> Votre compte n\'est pas confirmé <br>merci de le confirmer via vos mail !</div>';
                                                                                       }
                                                                          }
                                                                          else
                                                                          {
                                                                                        echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong>Erreur :</strong> Votre password n\'est pas valide !</div>';
                                                                          }
                                                             }
                                                             else
                                                             {
                                                                           echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong>Erreur :</strong> L\'username n\'est pas valide !</div>';
                                                             }
                                                }
                                                else
                                                {
                                                            echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong>Erreur :</strong> Tout les champs doivent étre remplies !</div>';
                                                }
                                      }
Ligne 61 : $_SESSION['id'] = $reqinfo['id'];
 
Salut,

Est-ce que c'est possible de voir l'intégralité du code ? Car il n'y a aucune ligne qui fait référence à l'erreur cité.

De plus, tu vas, il me semble, avoir une erreur avec ton
PHP:
header("Location: Xxxx");

Du style : The header has already sent

Bonne soirée,
AwH.
 
b0c36277deb7d05f576d8cc3f18f3d8b.png
 
Salut,

Ton erreur te dit :
Code:
Fatal error: Cannot use object of type stdClass as array

J'ai pas regardé ton code, mais en gros, tu utilises un objet comme un array (un tableau).

Pour lire un objet (stdClass) en PHP on fait un truc style :
PHP:
echo $obj->var;

Et pour lire un array:
PHP:
echo $obj['var'];


Et ta ligne :
PHP:
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ);

Avec l'argument PDO::FETCH_OBJ, elle transforme le tout en objet.



@+
 
Dernière édition:
Cette réponse a aidé l'auteur de cette discussion !
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut