例如,在刷新页面之前,即使实际设置了cookie,以下代码似乎也不起作用。
setcookie("cookies","1", time()+ 86400,"/" );
if (!isset($_COOKIE["cookies"])) {
$cookies = "foobar";
}
我试图在我的网站上编写一个准确的“唯一用户”计数器,该计数器的工作原理是检查用户是否在计算机上设置了cookie,如果他们没有,它会+1,并设置曲奇饼。这里的问题是,没有cookie的用户每次加载页面时只会+1,所以我自然只想为那些启用了cookie的人运行此代码。
然而,上面的cookie检查器将始终在第一页加载时返回$ cookies =“foobar”,无论用户是否已打开cookie或关闭。因此,如果用户只是查看该网站的1页,他们的访问将不会被计数器注册。
答案 0 :(得分:1)
您无法通过检查设定值立即检查其是否存在Cookie,因为在下次往返客户端之前,Cookie不会发送到浏览器。
您可以做的一件事是在页面上设置cookie,然后在图像脚本上进行检查。
还有其他解决方法。
答案 1 :(得分:0)
我想到的想法是在加载页面后执行javascriptcheck,然后使用ajax将计数器写入数据库或者您希望存储它。 PHP是服务器端,而cookie存储在客户端,所以像你正在尝试的那样进行检查会成为一个问题。