[英]session issue in 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] => d@gmail.com [score] => 449 [picture] => images/301399704385.jpg [country] => USA [city] => na [userid] => d430 ) )
我不知道為什么會話類用我的會話數組變量返回相同的對象。
注銷時,取消設置您單獨提供的所有用戶數據,然后銷毀會話。
像這樣使用它。
$this->session->unset_userdata('id');
$this->session->unset_userdata('first_name');
$this->session->unset_userdata('last_name');
.....
等等。
然后,使用下面的代碼破壞會話。
$this->session->sess_destroy();
在那之后,檢查用戶數據是否仍然存在。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.