Codeigniter - 设置多个会话

时间:2012-12-30 22:01:18

标签: php codeigniter session-variables

我正在尝试设置2个会话:

$this->session->set_userdata('name', 'value');

但我只能设置一个。我已经:

$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user['id']);

第一个有效,但第二个从未设定。

有人能帮助我吗?

谢谢!

P.S。:我是葡萄牙语,我可能有一些语法错误。对不起。

4 个答案:

答案 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)

您没有正确使用此功能。

来自CI Manual

$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user->id);

这是您设置所有会话数据的方式。

请注意$user生成的对象不是数组。所以你的访问是错误的。否则,您可以使用row_array()功能并按上述方式访问