|
本帖最后由 djtai 于 2017-2-20 16:37 编辑
在system/core/Input.php文件中,我们可以看到
if ( ! is_numeric($expire))
{
$expire = time() - 86500;
}
else
{
$expire = ($expire > 0) ? time() + $expire : 0;
}
所以当我们没有给$this->input->set_cookie($name, $value = '', $expire = '', $domain = '', $path = '/', $prefix = '', $secure = FALSE, $httponly = FALSE)传递$expire参数的时候是不能正常设置参数的,因为这个方法调用的是php自带的setcookie()方法,在这个方法中,$expire可以传一个time()+的时间表示多久销毁,如果不传或者设置为0的话则表示当前会话,随浏览器关闭而销毁。但是不能传一个time()-的时间,不然是不能正确设置的。
所以ci3.1.3或其他一些版本要设置cookie的需要注意了,一定要加$expire参数,不然是设置不成功的。
|
|