过去使用纯php进行编码(没有任何框架)时,我设置了一个$_SESSION
的会话,当我关闭浏览器会话时,当我设置一个cookie时,它将在到期时间之前可用!
但是在Codeigniter框架中,当我使用$this->session->set_userdata($someData)
设置会话并关闭浏览器并再次打开它时会话不可用。
我想创建一个具有Remember Me
功能的登录表单,当用户选中Remember Me
复选框登录并设置一些cookie时,如果没有选中,则使用简单会话登录(简单会话意味着当用户关闭他/她的浏览器会话被销毁,再次打开浏览器他/她没有登录系统。)
但是在codeigniter框架中,当我尝试使用set_userdata($someData)
创建登录表单时,关闭浏览器后会话仍处于活动状态,这是我的问题。
会话和cookie在codeigniter中是否相同?如何在codeigniter中创建具有Remember Me
功能的登录系统?
答案 0 :(得分:1)
您可以在/application/config/config.php文件中检查和更改会话到期时间。有372行,默认值是7200(秒)。
$config['sess_expiration'] = 7200;
答案 1 :(得分:0)
Codeigniter不使用您可以在此处阅读的本机PHP会话:
默认情况下,sess_expire_on_close设置为false,因此您需要将其初始化为true,以便在关闭时到期。
关于记住我的政策,这里也是一个很好的阅读:
What is the best way to implement “remember me” for a website?
希望这有帮助