微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php判断当前用户已在别处登录的方法

本文实例讲述了PHP判断当前用户已在别处登录方法分享给大家供大家参考。具体分析如下:

主要思路如下: 1.登录时,将用户的SessionID记录下来 2.验证登录时,将记录的该用户SessionID与当前SessionID匹配 3.如果不相同,说明在别处登录

完整实例代码点击此处

首先,进入http://localhost/login_single/index.php可查看登录状态。 index.php页面代码如下:

代码如下:
PHP //开启Session session_start();

header("Content-type: text/html; charset=utf-8");

//取Session中的用户信息 $username=$_SESSION['username'];

//判断是否有效 if(!isset($username)){ echo "您未登录登录"; exit(); }

//登录时保存的该用户SessionID $sessin_id=file_get_contents('session_id/'.$username);

//如果当前的SessionID与之前记录的SessionID不匹配 //说明已在别处登录 if(session_id() != $sessin_id){ //注销当前用户 unset($_SESSION['username']); echo "您已在别处登录从新登录"; exit(); }else{ echo "欢迎您:".$username; echo " 注销"; }

echo "

--这是登录之后才能看到的内容--

";

对于未登录用户提示跳转到 http://localhost/login_single/login.html登录页面,login.html页面代码如下:

代码如下:
<Meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <a href="https://www.jb51.cc/tag/denglu/" target="_blank" class="keywords">登录</a>
PHP"> 用户名 密 码: 登录">
提示:测试用户名:admin 密码:123

登录成功后由login.PHP页面进行相应的session判断。

login.PHP页面代码如下:

代码如下:
PHP //开启Session session_start();

//设置编码 header("Content-type: text/html; charset=utf-8");

//接收表单提交的内容 $username=$_POST['username']; $password=$_POST['password'];

//模拟验证用户登录 if($username=="admin" && $password=="123"){

//登录成功,将用户名保存到Session中
$_SESSION['username']=$username;

//创建目录
if(!file_exists('session_id')){
mkdir('session_id');
}

//保存的文件
$filename='session_id/'.$username;

//当前登录用户的SessionId
$session_id=session_id();

//当SessionID保存到对应的文件
//实际应用,可以保存到数据库、memcache等
file_put_contents($filename,$session_id);

//跳到主页
header ('Location: index.PHP');

}else{
echo ('');
exit();
}

希望本文所述对大家的PHP程序设计有所帮助。

原文地址:https://www.jb51.cc/php/22922.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐