Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour déterminer si vous n'êtes pas connecté et sauter

Comment utiliser PHP pour déterminer si vous n'êtes pas connecté et sauter

PHPz
PHPzoriginal
2023-04-03 14:40:22761parcourir

Avec le développement de la technologie Internet, de nombreux sites Web doivent utiliser la fonction de connexion utilisateur pour distinguer les différents utilisateurs et leur fournir des services spécifiques. Lors du développement d’une fonction de connexion utilisateur sur un site Web, il est crucial de concevoir un mécanisme de vérification de connexion. S'il n'existe pas de mécanisme de vérification correspondant, il y aura des risques pour la sécurité.

Ce qui suit est une méthode pour déterminer le statut de connexion de l'utilisateur, qui est implémentée à l'aide du langage PHP.

Définissez une fonction de vérification de connexion dans le fichier d'en-tête du site Web. Cette fonction détermine si l'utilisateur est connecté en déterminant si une variable de session spécifique existe. Si la variable de session existe, cela signifie que l'utilisateur est connecté, sinon cela signifie que l'utilisateur n'est pas connecté. Le pseudo-code de cette fonction est le suivant :

function check_login() {
   if( !isset($_SESSION['username']) ) {
      header("location: login.php");
      exit();
   }
}

Ensuite, appelez la fonction ci-dessus dans la page Web qui nécessite une vérification de connexion. Si l'utilisateur n'est pas connecté, cette fonction redirigera l'utilisateur vers la page de connexion, qui est la page login.php.

Dans la page login.php, l'utilisateur peut saisir son nom d'utilisateur et son mot de passe et soumettre le formulaire. Le code PHP d'arrière-plan vérifiera si le nom d'utilisateur et le mot de passe sont corrects. S'ils sont corrects, les informations utilisateur seront stockées dans la variable de session pour indiquer que l'utilisateur s'est connecté. Le code PHP est le suivant :

<?php
session_start(); // 开启session

if( $_SERVER[&#39;REQUEST_METHOD&#39;] == &#39;POST&#39; ) {
   // 获取用户名和密码
   $username = $_POST[&#39;username&#39;];
   $password = $_POST[&#39;password&#39;];

   // 判断用户名和密码是否正确,假设用户名密码正确
   if( $username == &#39;admin&#39; && $password == &#39;admin123&#39; ) {
      $_SESSION[&#39;username&#39;] = $username; // 将用户名存入session
      header("location: index.php"); // 登录成功重定向到 index.php
      exit();
   } else {
      $msg = "用户名或密码错误,请重新输入!";
   }
}
?>

<!-- 在HTML代码中显示错误信息 -->
<html>
   <head>
      <title>Login Page</title>
   </head>

   <body>
      <h2>Login Page</h2>

      <?php if(isset($msg)) { ?>
         <p style="color:red;"><?php echo $msg; ?></p>
      <?php } ?>

      <form method="post">
         <label>Username:</label>
         <input type="text" name="username"><br><br>

         <label>Password:</label>
         <input type="password" name="password"><br><br>

         <input type="submit" value="Login">
      </form>
   </body>
</html>

Dans la page index.php, nous devons utiliser la fonction check_login() pour déterminer si l'utilisateur est connecté. Si l'utilisateur est connecté, le contenu de la page sera affiché ; si l'utilisateur n'est pas connecté, la fonction redirigera l'utilisateur vers la page login.php. Le code PHP est le suivant :

<?php
session_start(); // 开启session
include_once("auth.php"); // 包含头文件

check_login(); // 判断用户登录状态
?>

<html>
   <head>
      <title>Index Page</title>
   </head>

   <body>
      <h2>Index Page</h2>

      <p>Welcome, <?php echo $_SESSION[&#39;username&#39;]; ?> !</p>

      <a href="logout.php">Logout</a>
   </body>
</html>

En résumé, cette méthode nécessite d'abord de définir la fonction check_login() dans le fichier d'en-tête et d'appeler cette fonction dans la page qui nécessite une vérification de connexion. Dans le même temps, les informations de connexion de l'utilisateur doivent être stockées dans la variable de session dans le code PHP de la page de vérification de connexion, et la variable de session est utilisée dans la page qui nécessite une vérification pour déterminer l'état de connexion de l'utilisateur. Cette méthode est simple et facile à mettre en œuvre, tout en apportant de bonnes garanties en termes de sécurité et d’expérience utilisateur.

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!

Déclaration:
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