Home >Backend Development >PHP Tutorial >PHP method to determine that the current user has logged in elsewhere, the current user is elsewhere_PHP tutorial

PHP method to determine that the current user has logged in elsewhere, the current user is elsewhere_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:10:161259browse

php method to determine that the current user has logged in elsewhere, the current user is elsewhere

The example in this article describes how PHP determines that the current user has logged in elsewhere. Share it with everyone for your reference. The specific analysis is as follows:

The main ideas are as follows:
1. When logging in, record the user’s SessionID
2. When verifying login, match the recorded SessionID of the user with the current SessionID
3. If they are not the same, please log in elsewhere

Click here to download the complete example code from this website.

First, go to http://localhost/login_single/index.php to check the login status.
The index.php page code is as follows:

Copy code The code is as follows:

//Open Session
session_start();

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

//Get user information in Session
$username=$_SESSION['username'];

//Judge whether it is valid
if(!isset($username)){
echo "You are not logged in!Log in";
exit();
}

//The user’s SessionID saved when logging in
$sessin_id=file_get_contents('session_id/'.$username);

//If the current SessionID does not match the previously recorded SessionID
//Indicate that you have logged in elsewhere
if(session_id() != $sessin_id){
//Log out the current user
unset($_SESSION['username']);
echo "You have logged in elsewhere!Log in again";
exit();
}else{
echo "Welcome:".$username;
echo " Logout";
}

echo "

--This is the content you can only see after logging in--

";

For users who are not logged in, they are prompted to jump to the http://localhost/login_single/login.html login page. The login.html page code is as follows:

Copy code The code is as follows:





Log in



Username:

Password:




Tips: Test username: admin Password: 123



After successful login, the corresponding session judgment will be made by the login.php page.

The login.php page code is as follows:

Copy code The code is as follows:

//Open Session
session_start();

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

//Receive the content submitted by the form
$username=$_POST['username'];
$password=$_POST['password'];

//Simulate and verify user login
if($username=="admin" && $password=="123"){

//Log in successfully, save username to Session
$_SESSION['username']=$username;
 
//Create directory
if(!file_exists('session_id')){
mkdir('session_id');
}

//Saved file name
$filename='session_id/'.$username;

//SessionId of the currently logged in user
$session_id=session_id();

//When SessionID is saved to the corresponding file
//Practical application, can be saved to database, memcache, etc.
file_put_contents($filename,$session_id);

//Jump to homepage
header ('Location: index.php');

}else{
echo ('<script>alert("Login failed");window.location="login.html"</script>');
exit();
}

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/938847.htmlTechArticleHow PHP determines that the current user has logged in elsewhere. The current user is elsewhere. This article describes the example of PHP determining that the current user has logged in elsewhere. Ways to log in elsewhere. Share it with everyone for your reference. Specifically...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn