您现在的位置是:网站首页> 编程资料编程资料
php 实现账号不能同时登陆的方法分析【当其它地方登陆时,当前账号失效】_php技巧_
2023-05-25
236人已围观
简介 php 实现账号不能同时登陆的方法分析【当其它地方登陆时,当前账号失效】_php技巧_
本文实例讲述了php 实现账号不能同时登陆的方法。分享给大家供大家参考,具体如下:
解决的思路是每当用户登陆时我们必需记录当前的用户id和session_id,如果有人在其它地方用此账号登陆时,我们把此用户id对应的session_id的session文件删除,并重新记录当前的session_id。那么之前的用户就失效了。
login.php代码如下:
$uname ); echo ''; echo ''; } } ?>用户登陆页面
index.php代码如下:
db.php代码如下:
tb_login_state表结构如下:
CREATE TABLE `tb_login_state` ( `uid` int(11) unsigned NOT NULL COMMENT '用户ID', `session_id` varchar(32) NOT NULL DEFAULT '' COMMENT '存储用户的session_id' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户登陆状态表';
如果是session存储方式不是文件,而是存在mysql,memcache,redis中,思路其实是一样的,都是把前一次的session_id保存。判断用户是否登陆过,如果登陆过就让上一次的session失效(删除session数据)。
(*通过设置session的过期时间和cookie的过期时间来让session失效是不严格的,最直接的方法是直接把session文件删除。)
推荐阅读:
http://www.laruence.com/2012/01/10/2469.html
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php缓存技术总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
