Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查看当前页面的访问者数_Javascript_Php_Numbers_Statistics - Fatal编程技术网

Javascript 查看当前页面的访问者数

Javascript 查看当前页面的访问者数,javascript,php,numbers,statistics,Javascript,Php,Numbers,Statistics,我不确定什么是最好的方法,但我需要能够显示正在查看当前页面的访客数量。不是谁而是多少人 做这样的事情最简单的方法是什么?是否可以在没有数据库的情况下实现这一点,但可以使用javascript或PHP 如果有XX人查看此页面,则输出为 编辑: 这可以通过显示过去15分钟内独特访客的数量来实现吗?我不会百分之百地准确,但会为我的目的工作HTTP是一个无状态协议,无法确定有多少 访问者目前在线,因为根本无法访问 识别除显式登录之外的唯一用户。这都是基于 估计,例如来自不同IP的请求量 最后的10分钟,

我不确定什么是最好的方法,但我需要能够显示正在查看当前页面的访客数量。不是谁而是多少人

做这样的事情最简单的方法是什么?是否可以在没有数据库的情况下实现这一点,但可以使用javascript或PHP

如果有XX人查看此页面,则输出为

编辑:
这可以通过显示过去15分钟内独特访客的数量来实现吗?我不会百分之百地准确,但会为我的目的工作

HTTP是一个无状态协议,无法确定有多少 访问者目前在线,因为根本无法访问 识别除显式登录之外的唯一用户。这都是基于 估计,例如来自不同IP的请求量 最后的10分钟,对访客来说,这就像一个计数器一样无用。这个 当前浏览用户数或页面点击数表示完全没有 关于网站的质量

最简单的方法是编写插入或更新IP的脚本 以及数据库表中的时间/日期。然后计算唯一IP和puge的数量 老的那个。为此,大多数站点以10分钟为间隔; 考虑到HTTP的性质

调用[文件]userCount.php或somthing并将其包含在顶部 你的标题,所以它在每一页点击调用

这应该行得通


摘自

我认为实时跟踪访问者最简单的方法是让每个访问者的客户端每x秒向您的脚本发送一个ajax请求,您在一个表或文本文件中跟踪所有会话ID/页面。如果某个会话id在特定时间内未从特定页面发布,请将其删除

如果你用数据库做的话。使用像这样的桌子

tracking
--------
sessionid (PK)
pageID (or pageURI)
last_seen (timestamp)
然后,您可以查询该表,以获得访问该页面的当前用户的数量

SELECT COUNT(*) visitors FROM tracking WHERE last_seen < DATE_SUB(NOW(), INTERVAL 30 SECONDS) GROUP BY pageID

但是,如果用户禁用了javascript,这将不起作用,因此这不是一个100%精确的解决方案。

我想知道您如何知道来宾何时离开了该页面。但是,您必须将num存储在服务器上,才能读取到对您有用的内容?感谢您的回复,但我想向该页面的访问者显示此nr。远程托管脚本不是一个选项,请尝试使用伟大的脚本。非常感谢您的回复,但是有没有办法确定最近10分钟内有多少用户在线?当然,有了脚本,您可以在10分钟后删除这些用户,每次执行userCount时,您都会从表中删除10分钟前插入的IP。你明白吗?这就是你要问的吗?我会使用sessionid,而不是IP,因为整个公司可以有相同的IP地址,但公司中的每台电脑都有不同的sessionid。显示过去10分钟内的唯一访问者数量如何?这将是一个公平的解决方案,我想是的,我同意这会更好,但我试图回答确切的问题,这就是目前有多少用户正在查看一个页面。
SELECT COUNT(*) visitors FROM tracking WHERE last_seen < DATE_SUB(NOW(), INTERVAL 30 SECONDS) GROUP BY pageID