页面视图计数在PHP中

时间:2012-10-07 06:15:14

标签: php mysql

我在php中寻找页面浏览计数器的帮助。

假设用户查看个人资料页面并在该页面上花费最少10秒的时间 然后我必须将视图计算为1 ... 那怎么办?

我已将所有个人资料详细信息存储在数据库中,并且都通过相同的模板页面,例如profile.php?id = 12345。

任何人都可以给我示例

我试过这样的东西..

$query = mysql_query(" UPDATE views SET views + 1 WHERE id = '$id' ");

3 个答案:

答案 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];
?>