【问题标题】:keep track of user page view using cookie php使用 cookie php 跟踪用户页面视图
【发布时间】:2012-02-20 02:22:55
【问题描述】:

我这里有这段代码:

setcookie('visitcount',1+$_COOKIE['visitcount'],time()+60*60);
$visitcount = $_COOKIE['visitcount'];
print "Number of views: ".$visitcount;

我想要做的是使用 cookie 跟踪当前查看者的页面浏览量。我对这段代码有点困惑,因为当网络访问者第一次查看网页时,结果返回说“查看次数:0”,而它应该是“查看次数:1”。

为什么会这样?我认为使用上面的 setcookie 代码,$visitcount 变量的值应该为 1。但事实并非如此??

【问题讨论】:

  • 你可以使用谷歌分析——它很漂亮:-)

标签: php setcookie


【解决方案1】:

这一行:

setcookie('visitcount',1+$_COOKIE['visitcount'],time()+60*60);

正在向客户端发送值“1+$_COOKIE['visitcount']”(即 = 到 1)。

下一行,$_COOKIE['visitcount'] 仍然是初始值(即第一次是'0'),因为它来自请求。您需要从下一个请求中接收更新的 COOKIE 以获得增量的结果。

【讨论】:

  • 如果是这种情况,您是在告诉我,setcookie 函数仅在我刷新 Web 浏览器屏幕后的客户端-服务器请求期间发生,但在第一个 Web 加载请求期间发生?这意味着如果是这种情况,我必须将 $visitcount 默认值设置为 1。
  • 是的。服务器 (PHP) 将 cookie 发送到客户端。服务器端 cookie 的值在下一次请求时更新(即当客户端发送它的 cookie 时)。服务器不应该更改请求 cookie 值,只发送一个更新的值。因此将您的初始值设置为“1”是合理的。
猜你喜欢
  • 1970-01-01
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多