Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Trying to get property of non-object

Posted by Dubphil on 02/23/2008 15:13

Bonjour,

Dans mon controller login.classis.php de mon module users (qui utilise jAuth pour l'authentification) j'ai ceci dans la méthode in() :

 $get_data = jDao::get('users');
 $user_info = $get_data->getByLogin($this->param('login'));
 $_SESSION['droit'] = $user_info->droit;
 $_SESSION['login'] = $this->param('login');

mais j'obtient l'erreur suivante :

notice 1 Trying to get property of non-object /var/jelix/myapp/modules/users/controllers/login.classic.php 38

or si je modifie la méthode de cette façon :

 $user_info = jDao::get('users')->getByLogin($this->param('login'));
 print_r($user_info);
 //$_SESSION['droit'] = $user_info->droit;
 $_SESSION['login'] = $this->param('login');

j'obtient ceci :

cDaoRecord_users_Jx_users_Jx_mysql Object ( [login] => user20 [password] => 10880c7f4e4209eeda79711e1ea1723e [mail] => user20example.com [confirm] => [nom] => mynom [prenom] => myprenom [droit] => 3 )

c'est pas un bug ça ? ou alors c'est encore une de mes lacunes en OOP...

Philippe

  [Opened] Re: Trying to get property of non-object

Reply #1 Posted by Dubphil on 02/23/2008 15:31

Bon j'ai trouvé comment Jelix gère les variables de session, il a fallut que j'aille dans la doc de l'API pour trouver ;)

donc jAuth affecte l'objet $user à $_SESSION['JELIX_USER'] donc il suffit de faire $_SESSION['JELIX_USER']->droit pour récupérer les droits de l'utilisateur courant lorsqu'il est connecté, cool ^^

sinon je ne m'explique quand-même pas l'erreur ci-dessus...

Philippe

 
Page
  1. Trying to get property of non-object