如何判断一个用户的在线与不在线????不会没有人知道吧

tyhhouxiangting 2003-08-20 09:00:42
如何判断一个用户的在线与不在线????
...全文
46 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
feivi 2003-08-21
  • 打赏
  • 举报
回复
用session
xdk 2003-08-21
  • 打赏
  • 举报
回复
今天刚搞好了这个问题!

我的程序要求是这样的,用户按退出键后下线可以正常登陆,没有正常退出,则判断用户是否正在活动!(五分钟)
1\在记录用户登陆的表中加入online,onlinedate,onlinetime
其中online记录用户在线或不在线(在线0,不在线1),onlinedate记录用户登陆日期,onlinetime记录用户登陆时间

2\当用户登陆时首先判断用户是否在线,如果在线,就判断用户现在登陆的时间跟上次最后数据库时间是不是大于五分钟,如果是,就可以登陆,否则就不能登陆.(用户登陆成功,每一分钟写入一次当前时间进数据库!)

因为用户没有登陆,所以数据库的时间也不会更新,所以当前时间减最后登陆时间就可以判断用户是否在线.
xuzuning 2003-08-21
  • 打赏
  • 举报
回复
1、使用数据库保存用户状态
2、写独立代码处理用户状态
3、或定义session处理函数,将处理用户状态融于session
4、考虑到有断线、停电的情况,还是以被动处理方式为佳
tempzzz 2003-08-20
  • 打赏
  • 举报
回复
用SESSION可以,当SESSION销毁的时候写入记录。当然SESSION是写入数据库的。不是放在文件里面的
feel8 2003-08-20
  • 打赏
  • 举报
回复
设置一个字段记录最后活动时间,比如用户刷新或是点击站内链接,就把这时的时间写入。
设置五分钟,或任意时间不活动就表示该用户离线。
任意用户刷新页面时检查表中记录,,把超过五分钟没动的用户从在线表中去掉……
windvally 2003-08-20
  • 打赏
  • 举报
回复
unload可以在关闭页面是执行一个清除在线的程序,可是要是用户打开的是论坛的链接呢?即使关了主页面,清除了在线记录,可是用户依然在线,怎么办?想不通啊
windvally 2003-08-20
  • 打赏
  • 举报
回复
我也想知道怎么实现!
用数据库登记登陆上线的用户很简单,可是怎么在对方下线后自动清除再线记录呢,难道要用服务器每隔一定时间将用户都扫描一遍吗?
还是登陆用户时运行隐藏的程序呢?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧