我正在尝试设置 2 个会话:
$this->session->set_userdata('name', 'value');
但是我只能设置一个。我有:
$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user['id']);
第一个有效,但第二个从未设置。
有谁能够帮助我?
谢谢!
PS:我是葡萄牙人,我可能有一些语法错误。对此感到抱歉。
我正在尝试设置 2 个会话:
$this->session->set_userdata('name', 'value');
但是我只能设置一个。我有:
$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user['id']);
第一个有效,但第二个从未设置。
有谁能够帮助我?
谢谢!
PS:我是葡萄牙人,我可能有一些语法错误。对此感到抱歉。
$this->session->set_userdata(array('logged_in' => TRUE, 'user_id'=> $user['id']));
在您的情况下,$user
不是数组,而是对象:
$this->session->set_userdata('user_id', $user->id);
如果$user = $query->row_array()
:
$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user['id']);
如果$user = $query->row()
:
$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user->id);
http://ellislab.com/codeigniter/user-guide/database/results.html
如果它仍然不起作用,试试这个:
$this->db->where('email',$email);
$this->db->where('password',$password);
$query = $this->db->get('users');
return $query->row();
* *我的英语不好。
您没有正确使用该功能。
来自CI 手册
$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user->id);
这就是您设置所有会话数据的方式。
请注意,这$user
会产生一个对象而不是数组。所以你的访问是错误的。否则,您可以使用上述row_array()
功能和访问权限