2015-01-02 96 views
0

我正在使用codeigniter會話。當我的用戶登錄會話成功地存儲我想要存儲在其中的數據記錄並且還刪除登出階段中的特定記錄。它正常工作。codeigniter中的會話問題

但問題是,當我在使用下面的代碼

$this->session->all_userdata(); 

的它顯示兩條記錄登錄和其他被默認存儲在一個存儲打印所有存儲在會話中的數據。如果我在登錄之前檢查相同的東西,那麼在會話數組中顯示一個帶有一些默認值的記錄。就像這樣:

Array ([session_id] => c59388c6a8 [ip_address] => 230.230.230.230 [user_agent] => Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 [last_activity] => 1420158230 [user_data] => [last_rec] => stdClass Object ([id] => 30 [first_name] => Daniel [last_name] => james [user_email] => [email protected] [score] => 449 [picture] => images/301399704385.jpg [country] => USA [city] => na [userid] => d430)) 

我不知道爲什麼會返回類此相同的對象我會數組變量。

+1

加載會話驅動程序時,它將爲當前用戶創建一個會話,而不管它們是否「登錄」。你使用任何餅乾? –

回答

0

在註銷時,取消設置您單獨給出的所有用戶數據,然後銷燬會話。

像這樣使用它。

$this->session->unset_userdata('id'); 
$this->session->unset_userdata('first_name'); 
$this->session->unset_userdata('last_name'); 

..... 

等等。

然後你使用下面的代碼來銷燬會話。

$this->session->sess_destroy(); 

之後,檢查用戶數據是否仍然存在。

希望這會有所幫助。