处理会话数据
会话只是一个由以下用户信息组成的数组:
- 用户唯一的会话 ID(这是具有非常强的熵的统计随机字符串,使用 MD5 进行散列以实现可移植性,并且每五分钟重新生成(默认情况下))
- 用户的 IP 地址
- 用户的用户代理数据(浏览器数据字符串的前 120 个字符)
- 最后活动时间戳。
来源( 什么是会话数据 )
检索会话数据
例如 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);