本文实例讲述了php 实现账号不能同时登陆的方法。分享给大家供大家参考,具体如下:
解决的思路是每当用户登陆时我们必需记录当前的用户id和session_id,如果有人在其它地方用此账号登陆时,我们把此用户id对应的session_id的session文件删除,并重新记录当前的session_id。那么之前的用户就失效了。
login.php代码如下:
<"SELECT session_id FROM tb_login_state WHERE uid={$uid}");
$data = mysql_fetch_assoc($res);
if(!empty($data)) {
$sessionId = $data['session_id'];
$sessionFilePath = session_save_path() . DIRECTORY_SEPARATOR . 'sess_' . $sessionId;
//删除上次用户登陆的session文件
if(file_exists($sessionFilePath) && is_writable($sessionFilePath)) {
@unlink($sessionFilePath);
}
//删除用户登陆信息
mysql_query("DELETE FROM tb_login_state WHERE uid={$uid}");
}
//添加新的用户登陆信息
mysql_query("INSERT INTO tb_login_state VALUES({$uid}, '{$session_id}')");
$_SESSION['userInfo'] = array(
'name' => $uname
);
echo '<script type="text/javascript">alert("您已成功登陆,跳转首页");</script>';
echo '<script type="text/javascript">location.href="index.php" rel="external nofollow" ;</script>';
}
}
"zh-CN">
<head>
<meta charset="UTF-8">
<title>用户登陆页面</title>
</head>
<body>
<form action="" method="post">
用户名:<input type="text" name="uname" value="" />
密码:<input type="password" name="upwd" value="" />
<input type="submit" name="submit" value="登陆" />
</form>
</body>
</html>
index.php代码如下:
<"htmlcode"><"htmlcode">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程序设计有所帮助。
ph,账号不能同时登陆
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]