2011-09-04 53 views
1

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

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

我希望了解当前在线用户的总数,以及这些用户中有多少人是会员或嘉宾,以及我需要了解今天在线的用户数量,以及这些用户中有多少是会员或客人。

任何帮助是极大的赞赏。

+0

用户偏好与计算谁在线有什么关系?你已经发布了关于这个问题并得到了答复。你在这里要求的究竟是什么? – Mat

+0

@Mat如果同一台计算机的两个用户有两个不同的浏览器首选项,那么guest的总数是2还是1? – user826855

+0

不同的浏览器偏好与用户是否是客人有什么关系? – Mat

回答

1

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

每当有人打开你的网站,让他们的IP地址,并将其与该结构插入表:

(varchar)ip, (int)time 

确认IP已经在数据库首先,如果是这样的话,只需更新与当前时间的时间。

time(); 

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

要获得谁访问您的网站今天选择从该表中,其中当前时间的人数 - 时间< = 86400(24小时)

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

1

在PHP PHP SESSIONS使用会话,会话数据写入到你的DATABSE,例如创建一个会话供客人,为用户的关键guestmembers记录在谁。

那么你的会话数据写入到您的数据库并创建一个唯一的会话密钥以防止数据库中出现重复条目​​。

但是,如果您多使用一点头脑,那么您也将能够停止来自不同浏览器的同一用户的重复条目。

也写他们的IP到您的数据库。