處理會話資料
會話只是一個由以下使用者資訊組成的陣列:
- 使用者唯一的會話 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);