我想做一个‘一星期内自动登录’功能,后端登录代码如下:`
class loginController extends core\lib\Controller{
public function login()
{
if($_POST['autoLogin']==1)
{
ini_set('session.gc_maxlifetime', "604800"); // 秒
ini_set("session.cookie_lifetime","604800"); // 秒
}
session_start();
if(strtolower($_SESSION['vCode'])!=strtolower($_POST['vCode']))
{
echo 'vCode_error';
exit(0);
}
$model=new mongoModel('wind','users');
$name=$model->findOne('name',$_POST['username']);
if(!empty($name))
{
if($name['password']==$_POST['password'])
{
$_SESSION['username']=$_POST['username'];
echo 'success';
}
else
echo 'password_error';
}
else
{
echo 'user_error';
}
}
}`
通过前端传来的‘ autoLogin ’值来判断用户是否选择了‘一周内自动登录’这个 checkbox,如果选择,则更改 session 和保存了 sessionid 的 cookie 的最大保存时间为 1 个星期。但是我发现这样不行, cookie 的有效期依然为结束会话时销毁,但是我把:
ini_set('session.gc_maxlifetime', "604800");
ini_set("session.cookie_lifetime","604800");
这两段代码放到项目入口文件里, cookie 的有效期成功到了一个星期以后,这是为啥呢?作用域的问题吗?
新手求问。