请看看这个。不能在会话codeigniter中设置用户数据
下面的代码是从我的模型类(使用DataMapper的ORM)
function login()
{
$u = new User();
$u->where('username', $this->username)->get();
$this->salt = $u->salt;
$this->validate()->get();
if (empty($this->id))
{
// Login failed, so set a custom error message
$this->error_message('login', 'Username or password invalid');
return FALSE;
}
else
{
// Login succeeded
$data = array
(
'username' => $u->username,
'usergroup' => $u->usergroup->get(),
'is_logged_in' => true
);
$this->session->set_userdata($data);
return TRUE;
}
}
当我这样做,我得到
**Fatal error: Call to a member function set_userdata() on a non-object**
但是当我做到这一点,而不是
$data = array
(
'username' => $u->username,
'usergroup' => $u->usergroup->get(),
'is_logged_in' => true
);
$obj=& get_instance();
$obj->session->set_userdata($data);
有用。
请问什么才能正常工作?
在此先感谢。
你先加载Session库? '$ this-> load-> library('session')' – Vikk
严禁。你在哪里使用你的第一个代码? –
你是从图书馆做这个的吗?在这种情况下,'$ this'将不包含CI实例,请参阅http://codeigniter.com/user_guide/general/creating_libraries.html – danneth