//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一次进行了两次赋值
原文地址:http://www.cnblogs.com/loveyouyou616/archive/2012/11/22/2782512.html
setcookie刷新后才生效问题
最近遇到cookie在本页面设置后,当前页面无法获取的问题,通过学习了解到cookie的生成流程,终于让LZ了解到其中的原因。下面讲述setcookie刷新后生效的原因。
实验
- <?php
- setcookie('a','aaa',time()+3600,'/');
- echo $_COOKIE['a'];
- ?>