我的代码中包含以下段。这个块实际上是一个调试块,用于在使脚本生效之前进行检查。
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的值。
答案 0 :(得分:8)
您使用的是分配=
运算符,而不是比较==
运算符。这将永远是真实的,这不是你想要的。
更改
if ($_COOKIE['visits'] = '' )
到
if ($_COOKIE['visits'] == '' )
甚至更好,请使用empty()
if (empty($_COOKIE['visits']))