我正在使用Codeigniter 2.2.0,尝试设置会话以便在浏览器关闭时销毁会话。在我的application/config/config.php
中,我设置了
$config['sess_use_database'] = TRUE;
$config['sess_expire_on_close'] = TRUE;
但它不起作用。存储在数据库中的会话不会被破坏。我试着这样做:
$this->session->set_userdata(array('user'=>'user1','login'=>TRUE));
并且会话使用serialize user_data存储在数据库中。然后我关闭浏览器,再次打开浏览器,并运行上面相同的代码。因为第一个会话没有从表中删除,所以现在我在会话表中获得了2条记录,其中user_data列中的值相同,但session_id值不同。我想要的只是必须销毁第一个会话并从数据库中删除。
如何解决此问题?有什么建议吗?
答案 0 :(得分:0)
为什么不尝试ajax请求到期会话:
var sessionExpire = function(e){
//here ajax request to expire session
};
window.unload = sessionExpire;