- 締切済み
PHPについて
PHPについて。 現在このような形でパスワードを作っております <html> <head> <title>form</title> </head> <body> パスワードを入力してください。 <form name="form" action="./sample04.php" method="POST"> <input name="pass" type="text"> <input type="submit" value="ログイン"> </form> </body> </html> ↑HTMLの文面↑ <?php // パスワードを設定する。 $pass = 1234; // form.htmlからのパスワードを受け取る $form_pass = $_REQUEST["pass"]; ?> <html> <head> <title></title> </head> <body> <?php // form.htmlからの値が$form_passと等しいか評価する if($form_pass == $pass){ echo "ログイン成功<br>", "<a href=\"./top.html\">進む</a>"; }else{ echo "ログイン失敗<br>", "<a href=\"./index.html\">戻る</a>";} ?> </body> </html> 質問はパスワードを複数作りたいのですが・・・ どうすればいいですか?PHPにはあまり詳しくないので・・・
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hanabutako
- ベストアンサー率54% (492/895)
PHPに限らず、パスワードを配列やリストで宣言してfor文で回して一致するか調べるのが普通だと思います。 思いつきで書いているので動くかすら無保証ですが、こんな感じですかね。 $form_pass = $_REQUEST["pass"]; $passwords = array("pass0", "pass1", "pass2", "pass3"); $is_password_matched = FALSE; foreach ($passwords as $password) { if ($form_pass == $password) { $is_password_matched = TRUE; break; } } if ($is_password_matched) { // パスワードが一致した時の処理 } else { // パスワード不一致の時の処理 } ちなみに、ユーザーごとにパスワードを変える場合はこんなコードも書けるでしょう。 $form_pass = $_REQUEST["pass"]; $form_user = $_REQUEST["user"]; $passwords = array("user0"=>"pass0", "user1"=>"pass1"); $is_password_matched = FALSE; foreach ($passwords as $user => $password) { if ($form_user == $user && $form_pass == $password) { $is_password_matched = TRUE; break; } } if ($is_password_matched) { // パスワードが一致した時の処理 } else { // パスワード不一致の時の処理 } ...以上、実際の環境で動かしてもいませんが参考までに。