我想使用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中。