PHP COOKIE访问计数器增加2


PHP COOKIE visits counter increases by 2

我想使用PHP存储一个cookie,其中包含用户的页面浏览次数。这是我的代码:

if (!isset($_COOKIE['visits'])) $_COOKIE['visits'] = 0;
    $visited = $_COOKIE['visits'] + 1;
    setcookie('visits', $visited, time() + $h * 3600, "/");

由于某种原因,计数器增加了2而不是1。虫子在哪里?

第一:使用括号!他们在那里有一个很好的理由,然后你的if会扩展到:

if (!isset($_COOKIE['visits'])){
  $visited = 0;
}else{
  $visited = $_COOKIE['visits'] + 1;
}
setcookie('visits', $visited, time() + $h * 3600, "/");

注意,我已将$_COOKIE['vistits']$visited进行了交换。在下一次调用中,$_COOKIE将被填充,不需要自己填充。

这可能是你的问题:你什么时候读$_COOKIE?可能是在错误的时间。。。

对不起,我修复了它,有问题

add_action('init','load_function');在wordpress中。