在PHP中设置持久cookie
我正在使用codeigniter框架。 这是我在浏览器中设置cookie的当前代码。如果有一个已知的IP地址,那么它不会要求您输入安全答案。o、 用户需要输入安全答案 一切正常,除了当我完全关闭broswer或重新启动电脑时,cookies被删除,它再次要求我输入该信息 代码在PHP中设置持久cookie,php,codeigniter,Php,Codeigniter,我正在使用codeigniter框架。 这是我在浏览器中设置cookie的当前代码。如果有一个已知的IP地址,那么它不会要求您输入安全答案。o、 用户需要输入安全答案 一切正常,除了当我完全关闭broswer或重新启动电脑时,cookies被删除,它再次要求我输入该信息 代码 $ip_address = $_SERVER['REMOTE_ADDR']; $ip_cookie = array('name'=>'ip', 'value'=>$ip_a
$ip_address = $_SERVER['REMOTE_ADDR'];
$ip_cookie = array('name'=>'ip',
'value'=>$ip_address,
'expire' => time() + (10 * 365 * 24 * 60 * 60)
);
set_cookie($ip_cookie);
正如您所看到的,我还为此设置了过期时间。可能不是原因,但您将过期日期设置为54年左右。发件人: 过期时间以秒为单位设置,并将其添加到当前时间 时间不包括时间,只包括秒数 从现在起,您希望cookie有效。如果过期时间已过 设置为零,cookie将仅在浏览器打开时持续
也许浏览器对过期时间有一个上限。您还应该检查浏览器开发人员工具中收到的实际值。查看CodeIgniter cookie帮助程序:我已经检查过了。我发现只有一件事需要指定过期时间。我已经在我的代码中提到过了。请确保您的浏览器没有配置为在关闭时删除cookie。那么,您想让我从expire中删除
time()
?因为手册上说您必须这样做才能获得有效的cookie,所以这是一个有趣的操作过程……只要涉及到时间,我就使用time()+60*60*24*30
在常规密码cookie中。同样的事情也发生在这件事上。它再次要求输入密码。因此,您在两个地方执行了手册警告的操作,但都不起作用?我已从两个cookie中删除了time()
。而且效果很好。您能解释一下,为什么time()
会导致过期问题吗?