我在php中寻找页面浏览计数器的帮助。
假设用户查看个人资料页面并在该页面上花费最少10秒的时间 然后我必须将视图计算为1 ... 那怎么办?
我已将所有个人资料详细信息存储在数据库中,并且都通过相同的模板页面,例如profile.php?id = 12345。
任何人都可以给我示例
我试过这样的东西..
$query = mysql_query(" UPDATE views SET views + 1 WHERE id = '$id' ");
答案 0 :(得分:3)
您可以使用PHP会话
跟踪您网站的各个用户http://us2.php.net/manual/en/intro.session.php
然后对于页面的每个加载,您可以在数据库中放置一个临时记录,并在一段时间后,提到10秒,向脚本发送一个AJAX调用,确认该记录为视图。
答案 1 :(得分:1)
您可以在10秒钟后向服务器发送ajax请求。
请检查Timing events。
然后在指定时间后向您的服务器发送ajax request。
在服务器上收到请求后,您可以自行处理更新计数器或任何您想要的内容。
检查您更新的问题,我相信您需要更正查询。它会像:
$query = mysql_query(" UPDATE views SET views = views + 1 WHERE id = '$id' ");
但是,您应该escape $id
。
答案 2 :(得分:0)
此外,您可以参考this脚本,该脚本使用$_SERVER
并将您的计数转储到MySQL中。
一个简单的PHP页面计数就是这样:
<?php
$countfile = ("countfile.txt");
$hits = file($countfile);
$hits[0] ++;
$fp = fopen($countfile , "w");
fputs($fp , "$hits[0]");
fclose($fp);
echo $hits[0];
?>