ホームページ >バックエンド開発 >PHPチュートリアル >セッションによるユーザー操作権限の判定方法の詳細例
ほとんどの 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['user']=$_POST['user']; $_SESSION['pwd']=$_POST['pwd']; ?>
(5) 以下のナビゲーション バーコードを追加します。データ処理ページのdefault.phpに、現在のユーザーのレベルを決定して、ログインしているユーザーが管理者であるか一般ユーザーであるかを確認すると、区別された出力が表示されます:
<?php if($_SESSION['user']==""){ echo '<script type="text/javascript">alert("请使用正确途径登录"); history.back();</script>'; } ?>
(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['user']=="admin"&&$_SESSION['pwd']=="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['user']=="admin"&& $_SESSION['pwd']=="111") { //如果当前用户是管理员 //如果当前用户是管理员 则输出 用户管理 echo '<td width="100">|<a href="default.php">用户管理</a><td>'; } ?> <td width="100">|<a href="safe.php">注销用户</a><td> </tr> </table>
(7) この例を実行し、ユーザー名とパスワードを入力します。 Web サイトのユーザー ログイン ページでパスワードを入力し、スーパー ユーザーとして Web サイトにログインするか、通常のユーザーとして Web サイトにログインして実行します。
php中国語ウェブサイト学習トピック
以上がセッションによるユーザー操作権限の判定方法の詳細例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。