我正在使用codeigniter并且在我的库文件中我存储的cookie在浏览器打开时工作正常,但是当我关闭浏览器时,代码中的任何内容都出错了吗?
$this->CI =& get_instance();
$this->CI->load->helper('cookie');
$expire = time()+(60*60*24*30);
$cookie = array(
'name' => 'username',
'value' => $users['username'],
'expire' => $expire
);
$this->CI->input->set_cookie($cookie);
$cookie = array(
'name' => 'password',
'value' => $users['password'],
'expire' => $expire
);
$this->CI->input->set_cookie($cookie);
答案 0 :(得分:4)
问题是您要发送的到期时间......这来自help page here
到期时间以秒为单位,将被添加到当前时间。不要包括时间,而是仅包括您希望cookie有效的秒数。如果到期时间设置为零,那么只有浏览器打开时,cookie才会持续。
所以将代码更改为:
$expire = (60*60*24*30);
将Cookie设置为从现在起30天后过期
(尽管设置它应该可能有效 - 但是到期时间会提前几年......帮助文档也会显示给定的字符串到期日 - 也许这就是问题所在)