我需要在我的页面上设置一个计数器,每次访问网站时都会增加,非常简单,但是......
我遇到了一个问题,由于某种原因我的页面计数器根本没有增加,即使代码看起来是正确的。
<?php
if (!isset($_COOKIE["visitCount"])) {
setcookie("visitCount", 1);
} else {
$_COOKIE["visitCount"]++;
}
echo $_COOKIE["visitCount"];
它始终保持在2,无论我刷新页面多少次,都会非常感谢帮助。
答案 0 :(得分:3)
您需要先设置变量,然后才能首次访问它。
所以你需要在使用它之前设置它,以防它尚未设置。
如果设置,您还需要清理/验证输入:
<?php
$name = "visitCount";
if (!isset($_COOKIE[$name])) {
$_COOKIE[$name] = 0;
}
$_COOKIE[$name] = 1 + (int) max(0, $_COOKIE[$name]);
$result = setcookie($name, $_COOKIE[$name]);
if (!$result) {
throw new RuntimeException("Failed to set cookie \"$name\"");
}
为了更容易发现这些错误,请为开发启用错误报告:
答案 1 :(得分:1)
试试这个
setcookie('visitCount', isset($_COOKIE['visitCount']) ? $_COOKIE['visitCount']++ : 1);