PHP-php怎么用什么方法实现用户在线与离线的切换。

PHP-php怎么用什么方法实现用户在线与离线的切换。

甜柠檬 发布于 2017-02-19 字数 95 浏览 1045 回复 3

大家好,请教一个问题,一个用户登录一段时间后,采用什么方法去更改用户的在线状态好,谢谢!

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

清晨说ぺ晚安 2017-08-29 3 楼

我的做法是利用用户的操作在每个入口做触发,
记录上次操作时间和下一次操作时间存入redis中,
然后后台设置一个录入数据库的时间值,
比如设置为30秒,
当用户的操作上下次时间差大于30就入库一次,
同时更新用户最后操作时间为当前,
这样用户的即使没有退出,
然后我们可以设定一个离线最大值,
比如为15分钟的话,
当用户的最后操作时间加上15分钟大于当前时间时就认为是离线,
反正则在线

虐人心 2017-06-24 2 楼

一般这样的都设计一个在线online表,存当前在线用户。
在程序入口位置,用户每次打开网站的任何一个页面就更新online里的时间。
网站后台弄个守护进程,删除online表中某个时间段内没更新的记录,这样你统计在线用户或列表时直接操作online表就可以了。

浮生未歇 2017-03-12 1 楼

一般都是根据Session的时长来判断用户的在线与不在线,很多论坛也是这么弄的,登录后将用户的当前时间记录到数据库,然后在每个页面都更新用户在线的当前时间,如果退出了就删除用户Session并更新数据库,如果用户是强制关闭浏览器,那只能根据Session的时长来判断了。