php站点,在线用户的名单显示。有没有很好的方法。
---------------------------------------------------------------
设一个全局数组,存放用户名和最后动作时间,每次刷新页面时,剔除超时的用户,将剩余用户列表,同时恻新当前用户时间。
---------------------------------------------------------------
没有, 现在最好的方法就是被动刷新法了. 也就是一般论坛的做法.
---------------------------------------------------------------
定时刷新页面,同时
$sql = "Update TableName set last_login='$today' where account='$account'";
mysql_query($sql);
其中
TableName是登陆数据库表
$today = date("Y-m-d H:i:s");
$account 是用户帐号
---------------------------------------------------------------
在你的用户表中设置一个用户是否登录的字段,然后
select username from users where islogon=1
或者用一个文件保存当前登录用户的名单
$logusers = file(登录用户名单文件);
更好的方法是同时记录用户的登录时间,然后采用某种机制,让用户在指定的时间内再次访问你的网站,如果超过了规定的时间仍然没有访问则视为用户掉线。将从在线名单中剔除。
---------------------------------------------------------------
http://www.langwan.com/article.php?Action=ArticleList&SID=PHP文章_实例精解&RowCount=1&AID=1041713488