處理會話資料

會話只是一個由以下使用者資訊組成的陣列:

  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);