我在codeigniter中創建了一個簡單的登錄,用戶輸入他/她的用戶名和密碼,如果有效,則轉到某個受保護的頁面。受保護的頁面有一個名爲logout的鏈接。但問題是註銷後,如果我直接訪問受保護的頁面,它不會重定向到登錄頁面。在codeigniter中沒有清除會話數據
我保護的頁面包含
<?php
if (!isset($this->session->userdata['loggedin'])) {
redirect("login");
}
?>
Welcome Dear!!
<a href="login/logout">Logout</a>
我已經設置成功的用戶憑據後的會話數據。
//set the session variables
$sessiondata = array(
'username' => $username,
'loggedin' => TRUE
);
$this->session->set_userdata($sessiondata);
redirect('admin');
在退出方式(登錄是我的控制器)我有沒有設置像這個 -
// Removing session data
$sess_array = array(
'username' => '',
'loggedin' => FALSE
);
$this->session->unset_userdata($sess_array);
但是,當我直接進入管理頁面(保護)註銷後不重定向到會話數據登錄頁面。
註銷後,我在登錄頁面上調試它,它顯示已存儲的會話值。
echo $this->session->userdata['username'];
但是當我在註銷方法上使用它工作正常。
$this->session->sess_destroy();
有誰能告訴我爲什麼會出現這種情況嗎? unset_userdata無法正常工作或我做錯了什麼?先謝謝了。
檢查我的答案是否有效 –