初始化 Session
Sessions会在每个页面载入后开始运行,所以session类必须首先被初始初始化。您可以在控制器中初始化,也可以在系统中自动加载(译者注:在autoload.php设定)
$this->load->library('session');
注意: 默认情况下, Session Cookie 每隔 5 分钟才会更新一次,这样会减少对处理器的负荷。如果你重复的装载页面, 你会发现”上次活动”的时间在五分钟,或多余五分钟的时候才会变化,也就是 cookie 上次被写入的时间。 这个时间可以通过设置 application/config/config.php 文件里的 $config['sess_time_to_update'] 行来改变。
取得 Session 数据
$this->session->userdata('item');session_id = $this->session->userdata('session_id');
添加自定义的 Session 数据
$this->session->set_userdata($array);$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');
取得所有 Session 数据
$this->session->all_userdata();Array( [session_id] => 4a5a5dca22728fb0a84364eeb405b601 [ip_address] => 127.0.0.1 [user_agent] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; [last_activity] => 1303142623)
删除 Session 数据
$this->session->unset_userdata('some_name'); $array_items = array('username' => '', 'email' => '');$this->session->unset_userdata($array_items);