今天遇到了php的cookie必须刷新再生效的问题,可用一下方法解决:

 

//PHP COOKIE设置函数立即生效,支持数组
function cookie($var, $value = \'\', $time = 0, $path = \'\', $domain = \'\', $s = false)
{
    $_COOKIE[$var] = $value;
    if (is_array($value)) {
        foreach ($value as $k => $v) {
            setcookie($var . \'[\' . $k . \']\', $v, $time, $path, $domain, $s);
        }
    } else {
        setcookie($var, $value, $time, $path, $domain, $s);
    }
}

 

这样就不用刷新,直接就可以获得cookie的值了,cookie参数详情请看php手册

提示:
其实这段代码中对于cookie及时更新起作用的就是这两句:

$_COOKIE[$var] = $value;
setcookie($var, $value, $time, $path, $domain, $s);

也就是对cookie一次进行了两次赋值

收藏 打印