如何在PHP中正确获取Cookie的价值?

时间:2013-06-05 03:00:22

标签: php html cookies setcookie

我的代码中包含以下段。这个块实际上是一个调试块,用于在使脚本生效之前进行检查。

if ($_COOKIE['visits'] = '' ) 
{
    $dbgmsg="No cookie found";
    $visits=1;  
    setcookie('visits',$visits,time() + (86400*30)); // 86400 = 1 day 900=15mins    
}
else 
{

    $visits=$_COOKIE['visits'];
    //$dbgmsg="Cookie found. Value is".$_COOKIE['visits'];
    $dbgmsg='<p>Cookie found. Value is'.$_COOKIE["visits"].'</p>';
    $visits++;
    setcookie('visits',$visits,time() + (86400*30));
}

脚本运行时,输出为:Cookie found. Value is

表示不显示cookie的值。检查Chrome中的Cookie值会显示Cookie“访问”存在,值为1.但代码似乎进入了else块。但检索的值是null?

我希望根据访问次数增加cookie的值。

1 个答案:

答案 0 :(得分:8)

您使用的是分配=运算符,而不是比较==运算符。这将永远是真实的,这不是你想要的。

更改

if ($_COOKIE['visits'] = '' ) 

if ($_COOKIE['visits'] == '' ) 

甚至更好,请使用empty()

if (empty($_COOKIE['visits']))