欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2015年01月06日 15:16:42   投稿:shichen2014  
這篇文章主要介紹了php判斷當前用戶已在別處登錄的方法,主要利用session記錄用戶登錄信息來完成這一功能,是非常實用的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了php判斷當前用戶已在別處登錄的方法。分享給大家供大家參考。具體分析如下:

主要思路如下:
1.登錄時,將用戶的SessionID記錄下來
2.驗證登錄時,將記錄的該用戶SessionID與當前SessionID匹配
3.如果不相同,說明在別處登錄

完整實例代碼點擊此處本站下載。

首先,進入http://localhost/login_single/index.php可查看登錄狀態(tài)。
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;
   
 //創(chuàng)建目錄
 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程序設計有所幫助。

相關文章

  • phpmyadmin導入(import)文件限制的解決辦法

    phpmyadmin導入(import)文件限制的解決辦法

    最近一次在用phpmyadmin備份mysql數據庫時,沒有分段大小,一下子備份了一百多M的sql數據;在導入的時候,提示超過2M導入限制,前一段時間,遇到過一次,后來利用網站后臺的自動分段處理了;這次又遇到這個問題,決心解決一下。
    2009-12-12
  • PHP基于swoole多進程操作示例

    PHP基于swoole多進程操作示例

    這篇文章主要介紹了PHP基于swoole多進程操作,結合實例形式分析了php使用swoole多進程實現多個任務同時執(zhí)行以及大任務劃分成多個小任務相關操作技巧,需要的朋友可以參考下
    2019-08-08
  • PHP下對字符串的遞增運算代碼

    PHP下對字符串的遞增運算代碼

    注意PHP對字符串的遞增運算,需要的朋友可以參考下。
    2010-08-08
  • php上傳圖片客戶端和服務器端實現方法

    php上傳圖片客戶端和服務器端實現方法

    這篇文章主要介紹了php上傳圖片客戶端和服務器端實現方法,涉及php操作文件的技巧,涉及圖片后綴驗證、文件重命名等常用方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • PHP進制轉換實例分析(2,8,16,36,64進制至10進制相互轉換)

    PHP進制轉換實例分析(2,8,16,36,64進制至10進制相互轉換)

    這篇文章主要介紹了PHP進制轉換,結合具體實例形式分析了2,8,16,36,64進制至10進制相互轉換實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • PHP下用rmdir實現刪除目錄的三種方法小結

    PHP下用rmdir實現刪除目錄的三種方法小結

    PHP本身有一個rmdir()函數可以用來刪除目錄,不過要求必須是空目錄,本文列舉了三種方法。1、遞規(guī)法;2、系統(tǒng)調用法;3、循環(huán)法 。
    2008-04-04
  • php session和cookie使用說明

    php session和cookie使用說明

    php session和cookie使用說明,需要的朋友可以參考下。
    2010-04-04
  • php中的觀察者模式簡單實例

    php中的觀察者模式簡單實例

    這篇文章主要介紹了php中的觀察者模式簡單實例,觀察者模式是設計模式中比較常見的一個模式,包含兩個或者更多的互相交互的類,本文直接給出實現代碼,需要的朋友可以參考下
    2015-01-01
  • PHP排序算法系列之直接選擇排序詳解

    PHP排序算法系列之直接選擇排序詳解

    這篇文章主要為大家詳細介紹了PHP排序算法系列之直接選擇排序的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • PHP從二維數組得到N層分類樹的實現代碼

    PHP從二維數組得到N層分類樹的實現代碼

    這篇文章主要介紹了PHP從二維數組得到N層分類樹的實現代碼,需要的朋友可以參考下
    2016-10-10

最新評論