首页 > 代码库 > 有关在数据库中的 记录用户的登录状态
有关在数据库中的 记录用户的登录状态
当用户登录的时候,判断该用户是否等录了。用于处理 不让同一个账号在不同的时间,不同的IP上 进行重复登录 所进行的操作!
每当用户登录的时候,就记录用户的登录日志(用户的ID,登录时间,退出时间,IP)等。
当你进行登录的时候,用户的登录状态为1,退出的时候 用户的登录状态为0, 当用户进行正常的登录、退出的时候,没有问题,用户登录日志也填上了。
但是要是用户非正常的退出呢?
那么用户登录的时候,这时数据库中 用户的登录状态 仍为1 ,那么用户就没有办法登录了。
故 我搜索了几天的数据,终于找到了一种方法, 抱歉 这个网址给忘记了!
所以 我想到的就是在USER 表中 又增加一个字段,为最后一次活动的时间, 当用户访问页面的时候,AJax 轮询,不断的去更新表中的这个时间(这样 对服务器的压力会很大!)
当用户非正常退出的时候,那么 user表中 这个时间为上次非正常退出的时间。
那么用户再次登录的时候,判断当前时间 和 最后一次的活动时间的间隔 是不是在那个范围之内。 如果 当前时间 - 范围的时间 大于 最后一次活动的时间的话,则说明上次用户 异常退出了。 如果 当前时间 - 范围的时间 小于 最后一次活动的时间的话,表示用户已经登录 了,提示 用户已经登录了!
那么 就把 用户log 表中的 退出时间 更改为 最后一次活动的时间。 这样就处理 非正常的登录。 (我是个新手,但是 我乐于学习,当遇到问题,自己解决不了的时候,问问经验 比你时间长的同事,他们会给你一些思路,给你开阔思路。感谢 生活中能够帮助自己的人!)
有关在数据库中的 记录用户的登录状态
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。