php判斷目前使用者已在別處登入的方法,目前使用者在別處_PHP教程

來源:互聯網
上載者:User

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頁面代碼如下:

複製代碼 代碼如下:




登入




提示:測試使用者名稱: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程式設計有所協助。

http://www.bkjia.com/PHPjc/938847.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/938847.htmlTechArticlephp判斷目前使用者已在別處登入的方法,目前使用者在別處 本文執行個體講述了php判斷目前使用者已在別處登入的方法。分享給大家供大家參考。具體...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.