正文 773字数 441,520阅读

为啥php setcookie()后,需要刷新两次,才能获得cookie?
如果要立即生效可以先创建空的cookie,然后赋值。
setcookie('test',''); $_COOKIE['test']='123456';
Run code
Cut to clipboard


    PHP的COOKIE在设定之后,必须要刷新一下网页才能生效,至于是什么原因,有人说是为了安全考虑,至于你信不信,反正我信了

    不过,这种机制总是会给我们带来这或那的问题,比如前段时间,我的站点上得设置一个广告显示的功能,就需要用到COOKIE,主要目的是为了加大广告的转化率,可是如果刷新生效,就比较麻烦,所以就用了这种方法,好用。
    function cookie($var, $value='', $time=0, $path='', $domain=''){ $_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("website","WEB开发笔记","./","www.lizhenqiu.com"); // echo $_COOKIE["website"];//输出WEB开发笔记
    Run code
    Cut to clipboard