- 1
[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
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
- 1