如何在浏览器窗口关闭时使代码点火器会话过期


How to expire codeigniter session when the browser window is closed

我正在使用codeigniter执行此任务。在配置文件中,默认值为false。但我希望,如果用户没有选中rememberme复选框,那么它应该设置为true。我在网上搜索了一下,发现了这个。但这无济于事。在我关闭并重新打开浏览器后,会话仍然处于活动状态(即使我已取消选中复选框)

if ($this->input->post('remember_me')==null) {
                    $this->session->sess_expire_on_close = TRUE;
                 }

在最新版本的CodeIgniter中,关闭浏览器时会话的到期时间在config.php文件(/application/config/config.php)中设置如下:

$config['sess_expiration'] = 0;

这是在会话部分的评论上解释的:

|'sess_expiration'||您希望会话持续的秒数。|设置为0(零)意味着在浏览器关闭时过期。

根据用户复选框更改该变量就可以了。

要在控制器上更改它,您应该阅读此内容。

https://www.codeigniter.com/userguide3/libraries/config.html

希望能有所帮助。