在PHP中设置持久性cookie

时间:2014-09-22 15:39:16

标签: php codeigniter

我正在使用codeigniter框架。 这是我在浏览器中设置cookie的当前代码。如果有已知的IP地址,则不会要求您输入安全答案。 o.w.用户需要输入安全答案。

一切正常,除非我完全关闭broswer或重启我的电脑,否则cookie会被删除,并再次要求我输入该信息。

CODE

$ip_address = $_SERVER['REMOTE_ADDR'];
$ip_cookie = array('name'=>'ip',
                   'value'=>$ip_address,
                   'expire' => time() + (10 * 365 * 24 * 60 * 60)
                   );
set_cookie($ip_cookie);

正如您所看到的,我也为此设置了过期时间。

1 个答案:

答案 0 :(得分:1)

可能不是原因,但您设定的有效期为54年左右。来自the manual

  

到期时间以秒为单位,将被添加到当前   时间。 不包括时间,而只包括秒数   从现在开始,您希望cookie有效。如果到期的话   设置为零只有浏览器打开时,cookie才会持续。

也许浏览器有到期时间的上限。您还应该检查浏览器开发人员工具以获取实际值。