我正在尝试设置2个会话:
$this->session->set_userdata('name', 'value');
但我只能设置一个。我已经:
$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user['id']);
第一个有效,但第二个从未设定。
有人能帮助我吗?
谢谢!
P.S。:我是葡萄牙语,我可能有一些语法错误。对不起。
答案 0 :(得分:2)
$ this-> session-> set_userdata(array('logged_in'=> TRUE,'user_id'=> $ user ['id']));
答案 1 :(得分:2)
在您的情况下,$user
不是数组,而是对象:
$this->session->set_userdata('user_id', $user->id);
答案 2 :(得分:1)
如果$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();
* * 我的英语不好。
答案 3 :(得分:1)
您没有正确使用此功能。
$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user->id);
这是您设置所有会话数据的方式。
请注意$user
生成的对象不是数组。所以你的访问是错误的。否则,您可以使用row_array()
功能并按上述方式访问