编程语言
首页 > 编程语言> > PHP登录/注销如果会话超时= true做某事

PHP登录/注销如果会话超时= true做某事

作者:互联网

我有一个将登录并注销用户的脚本.它完美地运作.现在我喜欢一个小部件,它可以计算注册和激活的用户数以及在线用户数.我这样做是通过在我的用户数据库中设置一个字段,表示在线= 1或0.当该人登录时,在线= 1并在线注销= 0.现在我没有考虑到该字段仅被更新因为用户正在做某事.我没有考虑到会话会超时.

如何创建一个函数,如会话超时= true然后更新用户设置在线= 0其中username = $username和user_id = $user_id.

解决方法:

在数据库表中,添加类似last_seen的其他列.每次在线查看用户时都会更新此信息.经过一段时间不活动后,它们将被标记为非活动状态.事实上,我建议你用这个替换你的在线字段.

例如,

ALTER TABLE users CHANGE COLUMN `online` `online` DATETIME; -- SAMPLE SQL query only

要检查有多少用户在线:

SELECT * FROM users WHERE online>(NOW()-INTERVAL 1 HOUR); -- SELECTS all users online in the past hour.

如果用户注销,您只需设置在线= NOW() – INTERVAL 1 HOUR.或者,您也可以保留以前的在线字段,并且可以检查用户是否空闲(使用我的建议)或在线= 0.

标签:php,session,session-timeout,logout,login
来源: https://codeday.me/bug/20190825/1723368.html