我不确定执行此操作的最佳方法是什么,但我需要能够显示正在查看访问者正在查看的当前页面的访客数量。不知道是谁,只知道有多少。
做这样的事情最简单的方法是什么?没有数据库就可以做到这一点,但也许可以使用 javascript 或 PHP?
输出将是“有 XX 人正在查看此页面”。
编辑: 是否可以通过显示过去 15 分钟的唯一访客数量来实现?我不会 100% 准确,但会达到我的目的
最佳答案
HTTP 是无状态协议(protocol),无法确定有多少个 访客目前“在线”,因为根本没有办法 识别除显式登录之外的唯一用户。这一切都是基于 估计(例如来自不同IP的请求量 最后 10 分钟),对于访客来说就像点击计数器一样毫无用处。这 当前浏览的用户数量或页面点击次数绝对说明不了任何问题 关于网站的质量。
最简单的方法是编写一个插入(或更新)IP 的脚本 和数据库表中的时间/日期。然后计算唯一 IP 的数量并进行 puge 旧的。大多数网站都会查看 10 分钟。用于此目的的间隔; 考虑到 HTTP 的性质。
调用[文件]“userCount.php”或其他内容并将其包含在顶部 标题,以便在每个页面点击时调用它。
// ** Begin userCount.php **//
$timestamp=time();
// 10 minutes of timeout
$timeout=$timestamp-6000;
// REPLACE instead of INSERT
mysql_query("REPLACE INTO online (time,ip) VALUES
('$timestamp','$REMOTE_ADDR')
WHERE ip = '$REMOTE_ADDR')";
// purge all old users
mysql_query("DELETE FROM online WHERE time < $timeout");
// delete my own ip adress from statistic
mysql_query("DELETE FROM online WHERE ip = 'xxx.xxx.xxxx.xxxx'");
$result=mysql_query("SELECT ip FROM online");
$user=mysql_num_rows($result);
echo $user;
// ** End userCount.php **//
这应该有效。
取自 Here
关于javascript - 查看当前页面的访问者数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19807160/