ホームページ >バックエンド開発 >PHPチュートリアル >セッションによるユーザー操作権限の判定方法の詳細例

セッションによるユーザー操作権限の判定方法の詳細例

伊谢尔伦
伊谢尔伦オリジナル
2017-04-28 11:43:526199ブラウズ

ほとんどの Web サイト開発プロセスでは、Web サイトを操作するための管理者と一般ユーザーの権限を分割する方が現実的です。具体的なコード例を通して分かりやすく解説していきます。より直感的なエクスペリエンスを友人に提供するために、以前に学んだ知識を組み合わせてコードとアイデアを改善できます。

まず、ユーザーのログインページで送信されたユーザー情報を通じて、Webサイトを操作するユーザーの権限を確認します。

具体的な開発手順は次のとおりです:

(1) ログイン ページを設計し、フォームを追加し、POST メソッドを使用してパラメータを転送します。アクションが指すデータ処理ページはdefault.phpで、ユーザー名テキスト ボックスを追加し、 user という名前を付け、パスワード フィールドのテキスト ボックスを追加して pwd という名前を付け、送信ボタンからジャンプを送信します。メイン コードは次のとおりです。

<!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) 「送信」ボタンのクリックイベントの下で、カスタム関数 check() を呼び出し、フォーム要素が空かどうかを確認します。ここでは検証用に JavaScript コードを使用しています。JavaScript に関する知識は各自で補ってください。カスタム関数 check() コードは次のとおりです:

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

(3) フォーム要素をデータ処理ページdefault.phpに送信します。まず session_start() 関数を使用してセッション変数を初期化し、次に POST メソッドを使用してフォーム要素の値を受け取り、取得したユーザー名とパスワードをそれぞれセッション変数に割り当てます。 コードは次のとおりです。 (4) 他のユーザーの不正ログインを防ぐため このシステムは、セッション変数の値を判定するために if 条件文を使用します。コードは次のとおりです。

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

(5) 以下のナビゲーション バーコードを追加します。データ処理ページのdefault.phpに、現在のユーザーのレベルを決定して、ログインしているユーザーが管理者であるか一般ユーザーであるかを確認すると、区別された出力が表示されます:

<?php
 if($_SESSION[&#39;user&#39;]==""){
   echo &#39;<script type="text/javascript">alert("请使用正确途径登录"); history.back();</script>&#39;;
 }
?>

(6) 「ログアウト ユーザー」を追加します。 「ページsafe.phpを上記のdefault.phpページにハイパーリンクし、safe.phpに次のコードを記述してユーザーセッションを削除し、ログインページに戻ります:

<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>

(7) この例を実行し、ユーザー名とパスワードを入力します。 Web サイトのユーザー ログイン ページでパスワードを入力し、スーパー ユーザーとして Web サイトにログインするか、通常のユーザーとして Web サイトにログインして実行します。

php中国語ウェブサイト学習トピック

: phpセッション (写真、テキスト、ビデオ、ケースを含む)

以上がセッションによるユーザー操作権限の判定方法の詳細例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。