国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php判斷當前用戶已在別處登錄的方法

2024-05-04 23:29:51
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php判斷當前用戶已在別處登錄的方法,主要利用session記錄用戶登錄信息來完成這一功能,是非常實用的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
 

本文實例講述了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 "您未登錄!<a href='login.html'>登錄</a>";
 exit();
}

//登錄時保存的該用戶SessionID
$sessin_id=file_get_contents('session_id/'.$username);

//如果當前的SessionID與之前記錄的SessionID不匹配
//說明已在別處登錄
if(session_id() != $sessin_id){
 //注銷當前用戶
 unset($_SESSION['username']);
 echo "您已在別處登錄!<a href='login.html'>從新登錄</a>";
 exit();
}else{
 echo "歡迎您:".$username;
 echo " <a href='logout.php'>注銷</a>";
}

echo "<p>--這是登錄之后才能看到的內容--</p>";

 

對于未登錄的用戶則提示跳轉到 http://localhost/login_single/login.html登錄頁面,login.html頁面代碼如下:

 

復制代碼代碼如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>登錄</title>
</head>
<body>
 <form method="post" action="login.php">
  用戶名:<input name="username"><br>
  密 碼:<input name="password" type="password"><br>
  <input type="submit" value="登錄">
 </form>
 <div>
  提示:測試用戶名:admin  密碼:123
 </div>
</body>
</html>

 

登錄成功后由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 ('<script>alert("登錄失敗");window.location="login.html"</script>');
 exit();
}

 

希望本文所述對大家的php程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥阳县| 米泉市| 扬中市| 庆城县| 屏东县| 舟山市| 梅河口市| 延庆县| 洞口县| 广南县| 花莲市| 延川县| 务川| 桐城市| 呈贡县| 安岳县| 安塞县| 安顺市| 鄂伦春自治旗| 灵台县| 麻城市| 丰县| 庄浪县| 土默特右旗| 嵊州市| 习水县| 延安市| 景泰县| 安吉县| 宁安市| 赣州市| 慈利县| 类乌齐县| 清苑县| 西青区| 乐都县| 图们市| 兴海县| 河间市| 五常市| 宣城市|