Exemple de code PHP pour réaliser que le compte membre ne peut se connecter que de manière unique

不言
Libérer: 2023-04-03 19:56:01
original
3658 Les gens l'ont consulté

Le contenu de cet article concerne l'exemple de code PHP pour réaliser que les comptes membres ne peuvent être connectés que de manière unique. Il a une certaine valeur de référence. J'espère que cela vous sera utile.

Reproduction de la scène

Le même compte membre est limité à une connexion unique sur le même appareil (ordinateur, téléphone portable, Ipad, etc.). Après une connexion répétée, la connexion d'origine. La page passera directement à la page de connexion et devra se reconnecter pour y accéder normalement.

Analyse des principes

Une fois que le compte A s'est connecté à l'ordinateur A et que le compte A s'est reconnecté avec l'ordinateur B, lorsque l'ordinateur A demande la page, il affiche un message « Reconnectez-vous », et accédez à la page de connexion

Analyse de l'idée :

Une fois le compte A connecté sur l'ordinateur A, écrivez l'ID de SESSION dans le fichier TXT et effectuez une vérification à chaque accès à la page ( comparer le fichier txt est la même que la valeur de la session_id actuellement connectée)

Exemple

1 Entrée et vérification (index.php)

<?php
session_start();
$uid = 10;
if(is_login($uid)){
 header(&#39;location:loginSuccess.php&#39;);
}else{  $
getLogSessionId = file_get_contents(&#39;session_log/&#39;.$uid.&#39;.txt&#39;);  
if($getLogSessionId){    
echo "已在其他地方登录,请重新登录";    
echo "<br>";   
 echo "5秒后跳转到登录页面!";
    header("refresh:5;url=login.php");
  }else{    
  echo &#39;第一次登录...&#39;;    
  echo "<br>";    
  echo "3秒钟后跳转到登录页面!";
    header("refresh:3;url=login.php");
  }
}
/**
* 通过登录时写入文件session_id和当前登录设备后生成的session_id进行比较,相同则是同一台设备登录,不同则在别的地方登录
*/
function is_login($uid){
  $getLogSessionId = file_get_contents(&#39;session_log/&#39;.$uid.&#39;.txt&#39;);  
  if($getLogSessionId == session_id()){    
  return true;
  }else{   
   return false;
  }
}
Copier après la connexion

2. Connexion (login.php)

<?php
session_start();
echo "登录中....";echo &#39;<br>&#39;;
$uid = 10;
file_put_contents(&#39;session_log/&#39;.$uid.&#39;.txt&#39;,session_id());
echo "登录完成";
Copier après la connexion

3. Connexion réussie (loginSuccess.php)

<?phpecho "我登录成功了!";
Copier après la connexion

4. Enregistrez le dossier sessionId (session_log) et testez le code. créez-en un manuellement ou accordez des autorisations pour générer automatiquement des fichiers

Recommandations associées :

bootstrap php pour implémenter une connexion simple, connexion phpbootstrap

connexion simulée php php tutoriel de connexion simulée curl

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal