在过去,当使用纯php (没有任何框架)编码时,我用$_SESSION
设置一个会话,当我关闭浏览器会话时,它会被销毁,当我设置cookie时,它将一直可用,直到过期时间!
但是在Codeigniter框架中,当我使用$this->session->set_userdata($someData)
设置一个会话,然后关闭浏览器并再次打开它时,会话是不可用的。
我想创建一个具有Remember Me
功能的登录表单,当用户选中Remember Me
复选框时登录并设置一些cookie,当未选中时,使用简单会话登录(简单会话意味着当用户关闭他/她的浏览器时,会话被破坏,当再次打开浏览器时,他/她没有登录到系统中)。
但是在codeigniter框架中,当我尝试使用set_userdata($someData)
创建登录表单时,在关闭浏览器后会话仍然存在,这就是我的问题所在。
codeigniter中的会话和cookie是相同的吗?如何在codeigniter中创建具有Remember Me
功能的登录系统?
发布于 2016-06-12 01:12:31
您可以在: /application/config/config.php文件中检查和更改会话到期时间。第372行,默认值为7200 (秒)。
$config['sess_expiration'] = 7200;
发布于 2016-06-11 23:36:22
Codeigniter不使用原生PHP会话,您可以在此处阅读:
默认情况下,sess_expire_on_close设置为false,因此需要将其初始化为true,以便在关闭时过期。
关于记住我,这里的政策也是我采用的一个很好的读物:
What is the best way to implement “remember me” for a website?
希望这能有所帮助
https://stackoverflow.com/questions/37765055
复制相似问题