处理会话数据

会话只是一个由以下用户信息组成的数组:

  1. 用户唯一的会话 ID(这是具有非常强的熵的统计随机字符串,使用 MD5 进行散列以实现可移植性,并且每五分钟重新生成(默认情况下))
  2. 用户的 IP 地址
  3. 用户的用户代理数据(浏览器数据字符串的前 120 个字符)
  4. 最后活动时间戳。

来源( 什么是会话数据

检索会话数据

例如 SessionID:

$this->session->userdata('session_id');

注意 - 对于 Codeigniter 3.x,你可以使用上面的语法,但已经引入了概念或魔术 getter,你可以使用 $this->session->session_id

请记住,如果会话项不存在,userdata() 将返回 NULL。

检索所有会话数据

$this->session->all_userdata()

设置会话数据

set_userdata() 方法允许你将数据设置到会话中,以下示例演示了你要插入的示例数组:

$newdata = array(
        'username'  => 'johndoe',
        'email'     => 'johndoe@some-site.com',
        'logged_in' => TRUE
);

$this->session->set_userdata($newdata);

你还可以一次设置一个数据,例如:

$this->session->set_userdata('some_name', 'some_value');

要么

$some_name = 'some_value';
$this->session->set_userdata($some_name);

删除会话和会话数据

$this->session->unset_userdata('some_name')

此方法还接受一组项目键以取消设置:

对于 Codeiginter 3.x:

$array_items = array('username', 'email');

$this->session->unset_userdata($array_items);

对于 Codeiginter 2.x(此遗留语法不支持 3.x):

$array_items = array('key' => 'value');

$this->session->unset_userdata($array_items);