回答
你的意思是當用戶註銷你想清除會話。如果你意味着你可以使用下面的代碼。您必須手動刪除會話內的數據。如果不手動銷燬數據,則數據將在數據庫中可用,直至到達會話過期。
session_destroy();
// or
$this->session->sess_destroy();
或者,如果你想清除session裏面spesific數據如果您使用會話來存儲閃存數據,那麼會話只只可用於下一個請求,你可以使用下面
unset($_SESSION['some_name']);
// or
$this->session->unset_userdata('some_name');
的代碼。示例代碼像下面
$_SESSION['item'] = 'value';
$this->session->mark_as_flash('item');
謝謝你的回答。會話到期已達到,但數據庫中的記錄未被刪除。 – Vesna
從here
複製創建在ci_session表中的新列。
ALTER TABLE `yourdatabase`.`ci_sessions`
ADD COLUMN `userid` VARCHAR(45) NULL AFTER `user_data` ;
然後在您的登錄功能與你的登錄過程,並增加了用戶數據信息到會議之前得到ID做:
//delete any existing sessions with the current userid session.
// Note - a new session has already been generated but doesn't have a value
// in the userid column, so won't get deleted.
$this->db->delete('ci_sessions',array('userid' => $identity));
//get the current session and update it with the userid value.
$session_id = $this->session->userdata('session_id');
$this->db->where('session_id', $session_id);
$this->db->update('ci_sessions', array('userid' => $identity));
其中$身份是你的用戶ID。這清除了以前的任何會話,並且意味着一次只存在一個會話。
所以我必須手動刪除記錄?注:Codeeriter 3 – Vesna
是的,正如Stevo在他的回答中所建議的 –
- 1. CodeIgniter 3 + Docker - 會話
- 2. CodeIgniter 3和會話
- 3. Codeigniter本地會話或ci會話庫
- 4. codeigniter中的會話庫
- 5. Codeigniter會話數據庫
- 6. Codeigniter會話數據庫
- 7. Codeigniter會話庫錯誤
- 8. CodeIgniter 3正在數據庫中爲一個會話生成多個會話
- 9. CodeIgniter 3會話在Safari上不工作
- 10. CodeIgniter會話vs PHP會話
- 11. 會話(CodeIgniter)
- 12. CodeIgniter會話
- 13. CodeIgniter會話encryption_key
- 14. CodeIgniter會話
- 15. Codeigniter 3 - 從外部Codeigniter安裝訪問會話
- 16. Codeigniter會話信息
- 17. 無法找到Codeigniter DB會話庫?
- 18. CodeIgniter - 如何查詢數據庫會話?
- 19. 在CodeIgniter中使用會話庫
- 20. 反序列化數據庫會話Codeigniter
- 21. codeigniter 2.2.6會話到數據庫
- 22. CodeIgniter數據庫會話問題:sess_expire_on_close
- 23. 設置會話後的Codeigniter加載庫
- 24. CodeIgniter會話庫停止整個腳本
- 25. 銷燬與Codeigniter和Tank_Auth庫的會話
- 26. Codeigniter會話掛起
- 27. PHP(CodeIgniter)會話空
- 28. Codeigniter會話問題
- 29. codeigniter會話到期
- 30. Codeigniter會話安全
你試過了什麼?在您的問題中提供代碼 –
我沒有任何用於從數據庫中刪除記錄的代碼。在CI 2,它說:Session類已經內置了垃圾收集,所以你不需要編寫自己的程序去做它清除了過期的會話。但我正在使用CI3,似乎數據庫中的會話不會被刪除。 – Vesna