我最近接受了朋友的挑战。以为我会在这里分享,因为我没有很好的解决方案。
假设我的网站需要访问者点击数,每次访问时计数都会永久增加。
使用GET请求更改服务器状态被认为是不好的做法。而且由于我想继续计算进入我网站的用户数量,我必须以某种方式存储状态。
我该如何处理?我应该打破这种做法并在GET请求上更改服务器吗?或者是否有一些我可以推出的更精细的计划?
答案 0 :(得分:3)
你所做的断言一般都是正确的。但在这里,您需要准确跟踪是否有人发出了GET请求。所以对这些请求做这种处理是有道理的!
与缓存机制结合使用时有点棘手。由于您计算访问者的部分不能位于缓存中,因此您始终需要服务器端来跟踪计数。
其他解决方案包括:
[edit]我特别喜欢跟踪图片。使两种解决方案都更容易。
答案 1 :(得分:0)
我记录访问的方法是使用PHP的auto_prepend_file
或auto_append_file
。在这些文件中你有这样的东西:
error_reporting(0);
$conn = mysqli_connect('localhost', 'visitor_counter', 'password', 'visitors');
$ip = mysqli_real_escape_string($conn, $_SERVER['REMOTE_ADDR']);
$query = "UPDATE `visits` SET `count` = `count` + 1 WHERE `ip` = '$ip'";
mysqli_query($conn, $query);
我使用共享主机,所以我必须使用这样的.htaccess
文件:
php_value auto_prepend_file /php/head.php
希望这有帮助!