目前,我有一个名为"hits.php“的文件,在任何想要跟踪页面点击率的页面上,我只使用<?php include("hits.php"); ?>
我怎么才能只跟踪唯一的访问者呢?我的点击量是假的,因为它可以被同一个人刷新,点击量会上升。
这是我的资料来源:
<?php
$hits = file_get_contents("./client/hits.txt");
$hits = $hits + 1;
$handle = fopen("./client/hits.txt", "w");
fwrite($handle, $hits);
fclose($handle);
print $hits;
?>我真的不知道我该怎么做cookie检查。有没有办法检查IP地址?或者我能做些什么?
谢谢,StackO。
发布于 2010-10-23 09:14:57
最简单的方法是cookie检查。
更好的方法是创建一个SQL数据库,并将IP地址指定为主键。然后,每当用户访问时,您都会将该IP插入数据库中。
$_SESSION['logged']的函数,您可以根据需要分配该函数。$_SESSION['logged']返回'false‘,则将其IP地址插入MySQL数据库。$_SESSION['logged']设置为'true’,这样就不会浪费资源多次记录IP。注意:创建MySQL表时,请将IP地址字段指定为关键字。
<?php
session_start();
if (!$_SESSION['status']) {
$connection = mysql_connect("localhost", "user", "password");
mysql_select_db("ip_log", $connection);
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("INSERT INTO `database`.`table` (IP) VALUES ('$ip')");
mysql_close($connection);
$_SESSION['status'] = true;
}
?>发布于 2010-10-23 09:42:39
没有完美的解决方案,但前两种方法(IP地址和/或cookie)是最可靠的,组合使用可能更好。
我没有重新发明轮子,而是使用了现成的解决方案。出于商业原因,我避免使用Google Analytics (我不想让Google知道我的网站统计数据--他们最感兴趣的不是我)。它们可能适用于非商业网站,或者如果你不使用谷歌做广告的话。也有几十种选择。例如,我使用Getclicky.com
发布于 2010-10-23 09:16:36
PHP在基本级别上,您可以通过使用property
setcookie文档。
https://stackoverflow.com/questions/4001973
复制相似问题