谁的在线脚本问题

时间:2011-09-04 13:08:07

标签: php

虽然为我的网站创建了Who's Online脚本,但我注意到同一台计算机的用户当然可以与其他用户有不同的浏览器偏好。

在这种情况下会发生什么?

我想了解当前在线用户的总数,以及这些用户中有多少是成员或访客的细分,我需要了解今天有多少用户在线,以及如何分析其中许多用户都是会员或访客。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用sql数据库完成此操作。除代理外,不同的浏览器设置没有任何区别。

每当有人打开您的网站时,请获取其IP地址并将其插入具有以下结构的表格中:

(varchar)ip, (int)time

首先检查ip是否已经在数据库中,如果是这种情况,只需用当前时间更新时间。

time();

获取在线用户的数量只需从当前时间< = 300(在线 - 在过去5分钟内访问过该网站)的表中选择。 要检查它是否是用户,只需检查ip是否与任何帐户的IP地址匹配。如果你不存储会员的IP地址,那么现在是时候了。只需在每次登录时更新其IP地址。

要获取今天访问过您网站的人数,请从当前时间< = 86400(24小时)

的当前时间表中选择

如果您希望“今日在线”计数器在午夜重置,请在表格中创建另一列,存储用户访问网站的日期(没有时间),然后只需检查是否是今天的日期或每天删除所有记录。

答案 1 :(得分:1)

在PHP PHP SESSIONS中使用会话,并将会话数据写入数据库,例如为访客创建一个密钥guest的会话,为登录的用户创建members会话。

然后将会话数据写入数据库并创建一个唯一的会话密钥,以防止数据库中存在重复的条目。

但是,如果你更多地使用你的想法,那么你也可以阻止来自不同浏览器的同一用户的重复条目。

还要将他们的IP写入您的数据库。