Bonjour, </br>
je me permet de vous demander de l'aide car je bloque depuis un moment avec ceci : "Trying to get property of non-object" sur le tutoriel du même nom que celui de mon post.</br>
Je pense que mon problème vient de ma fonction "row". </br>
Dans ma class :
public function row($sql, $data = array()){
$req =$this->db->prepare($sql);
$req->execute($data);
return $req->fetchAll(PDO::FETCH_OBJ);
}
Dans mon code :
$user = $DB->row('SELECT id, pass FROM membres WHERE id=:id', array('id' => $auth[0]));
$key = ($user->id . $user->pass);
Voilà en gros ce que je récupère :
string(46) "3-----516b9783fca517eecbd1d064da2d165310b19759" array(2) { [0]=> string(1) "3" [1]=> string(40) "516b9783fca517eecbd1d064da2d165310b19759" }
Notice: Trying to get property of non-object in C:\xampp\htdocs\store\_header.php on line 15
Merci d'avance à celui qui portera une attention particulière à mon post :)
Essai avec $user[0]->id et $user[0]->pass, juste pour tester et voir si elle contient quelque chose.
Si cela fonctionne, après la ligne :
$user = $DB->row('SELECT id, pass FROM membres WHERE id=:id', array('id' => $auth[0]));
Tu ajouteras :
$user = current($user);
Cela récupérera le premier élément, du coup la prochaine ligne devrait fonctionner.
$key = ($user->id . $user->pass);
Salut,
Faudrais que tu fasses un vardump de ta variable, $user
Il semble que celle-ci soit vide,
Salut Emix,
J'ai comme demandé, réalisé un vardump de ma variable $user </br>
Voilà le résultat :
array(1) { [0]=> object(stdClass)#5 (2) { ["id"]=> string(1) "3" ["pass"]=> string(40) "516b9783fca517eecbd1d064da2d165310b19759" } }
j'ai également réalisé un vardump sur la variable $key
string(0) ""
C'est donc à cette ligne là qu'il y à le probleme
$key = ($user->id . $user->pass);
Merci Airday ainsi que les autres. </br>
Mon problème viens du cryptage avec sha1... car sans, ça fonctionne bien au final. j'ai donc fini par abandonner n'ayant pas trouvé la solution à ce problème (à l'ajout du cryptage avec sha1, il n'y à plus d'élément dans mon tableau (Undefined offset: 0)). </br>
J'ai donc pour le moment prit d'autres arguments pour réaliser mon cookie pour la connexion persistante. (qui eux ne sont pas cryptés, un peu moche pour la sécurisé... x) ).</br>
Encore merci de l'attention portée à mon sujet :)