Maison >développement back-end >tutoriel php >Exemple détaillé de la façon de juger les autorisations d'opération des utilisateurs via la session

Exemple détaillé de la façon de juger les autorisations d'opération des utilisateurs via la session

伊谢尔伦
伊谢尔伦original
2017-04-28 11:43:526222parcourir

Dans la plupart des processus de développement de sites Web, il est plus pratique de diviser les autorisations des administrateurs et des utilisateurs ordinaires pour faire fonctionner le site Web. Donnons une explication complète à travers un exemple de code spécifique. Pour offrir à vos amis une expérience plus intuitive, vous pouvez combiner les connaissances que vous avez acquises précédemment pour améliorer votre code et vos idées.

Tout d'abord, vérifiez l'autorité de l'utilisateur pour exploiter le site Web grâce aux informations utilisateur soumises sur la page de connexion de l'utilisateur.

Les étapes de développement spécifiques sont les suivantes :

(1) Concevez une page de connexion, ajoutez un formulaire et utilisez POST pour transférer les paramètres. La page de traitement des données pointée par l'action est par défaut. php , ajoutez une zone de texte de nom d'utilisateur et nommez-la user, ajoutez une zone de texte de champ de mot de passe et nommez-la pwd, et soumettez le saut via le bouton de soumission. Le code principal est le suivant.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script type="text/javascript">
 function check(form){
 if(form.uesr.value == ""){
 alert("请输入用户名");
      }
 if(form.pwd.value == ""){
 alert("请输入密码");
      }
 form.submit();
    }
  </script>
</head>
<body>
<form name="form1" method="post" action="default.php">
  <table width="520" height="390" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td valign="top">
        <table width="520" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="24" align="right">用户名:</td>
            <td height="24" align="left">
              <input name="user" type="text" id="user" size="20">
            </td>
          </tr>
          <tr>
            <td height="24" align="right">密 码:</td>
            <td height="24" align="left">
              <input name="pwd" type="password" id="pwd" size="20">
            </td>
          </tr>
          <tr align="center">
            <td height="24" colspan="2">
              <input name="submit" type="submit" value="提交" onclick="return check(form);">
              <input type="reset" name="reset" value="重置">
            </td>
          </tr>
          <tr>
            <td height="76">
              <span>超级用户: admin  密  码:111 </span>
              <br><br>
              <span>普通用户: tom  密  码:000 </span>
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</form>
</body>
</html>

(2) Sous l'événement click du bouton "Soumettre", appelez la fonction personnalisée check() pour vérifier si l'élément du formulaire est vide. Le code javascript est utilisé ici à des fins de vérification. Veuillez compléter vous-même vos connaissances sur javascript. Le code de la fonction personnalisée check() est le suivant :

<script type="text/javascript">
   function check(form){
     if(form.uesr.value == ""){
       alert("请输入用户名");
     }
     if(form.pwd.value == ""){
       alert("请输入密码");
     }
     form.submit();
   }
 </script>

(3) Soumettez les éléments du formulaire à la page de traitement des données default.php. Utilisez d'abord la fonction session_start() pour initialiser la variable de session, puis utilisez la méthode POST pour recevoir la valeur de l'élément de formulaire et attribuez respectivement le nom d'utilisateur et le mot de passe obtenus à la variable de session. Le code est le suivant :

<?php
 session_start();
 $_SESSION[&#39;user&#39;]=$_POST[&#39;user&#39;];
 $_SESSION[&#39;pwd&#39;]=$_POST[&#39;pwd&#39;];
?>

(4) Afin d'empêcher d'autres utilisateurs de se connecter illégalement au système, utilisez des instructions conditionnelles if pour juger de la valeur de la variable de session. La connaissance de JavaScript se poursuit ici, et le code est le suivant :

<?php
 if($_SESSION[&#39;user&#39;]==""){
   echo &#39;<script type="text/javascript">alert("请使用正确途径登录"); history.back();</script>&#39;;
 }
?>
(5) Dans le traitement des données Ajoutez le code à barres de navigation suivant à la page default.php pour déterminer le niveau d'utilisateur actuel et voir si l'utilisateur connecté est un administrateur ou un utilisateur ordinaire, puis le une sortie différenciée s'affiche :

<table align="center" cellpadding="0" cellspacing="0">
 <tr align="center" valign="middle">
   <td style="width: 140px; color: red;">当前用户:
     <!-- 输出当前登录用户级别-->
     <?php
       if($_SESSION[&#39;user&#39;]=="admin"&&$_SESSION[&#39;pwd&#39;]=="111"){
         echo "管理员";
       }else{
         echo "普通用户";
       }
     ?>
   </td>
   <td width="70"><a href="default.php">首页</a><td>
   <td width="70">|<a href="default.php">文章</a><td>
   <td width="70">|<a href="default.php">相册</a><td>
   <td width="100">|<a href="default.php">修改密码</a><td>
   <?php
     if($_SESSION[&#39;user&#39;]=="admin"&& $_SESSION[&#39;pwd&#39;]=="111") {   //如果当前用户是管理员
      //如果当前用户是管理员 则输出 用户管理
      echo   &#39;<td width="100">|<a href="default.php">用户管理</a><td>&#39;;
     }
   ?>
   <td width="100">|<a href="safe.php">注销用户</a><td>
 </tr>
</table>
(6) ci-dessus Ajoutez la page de lien hypertexte "utilisateur de déconnexion" safe.php à la page default.php et écrivez le code suivant dans safe.php pour supprimer la session utilisateur et revenez à la page de connexion :

<?php
 session_start();                  //初始化 session
 unset($_SESSION[&#39;user&#39;]);            //删除用户名会话变量
 unset($_SESSION[&#39;pwd&#39;]);             //删除密码会话变量
 session_destroy();                 //删除当前所有会话变量
 header("location:index.php");         //跳转到用户登录页
?>
(7) Exécutez cet exemple, entrez le nom d'utilisateur et le mot de passe sur la page de connexion de l'utilisateur du site Web, connectez-vous au site Web en tant que super utilisateur ou connectez-vous en tant que utilisateur ordinaire et exécutez-le.

Sujet d'apprentissage du site Web chinois php : session php (comprenant des images, des vidéos, des cas)

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