1つのページでログインパターンが2通りある画面を作っています。
部署コードだけでログインする方法と
社員コードとパスワードの2つを使ってログインする方法です。
それぞれ入力してなければ警告メッセージみたいなものを出したいのですが
部署コードを入力していても、社員コードが入力されていなかった時の処理が走り、困っています。
if文の組み方が悪いのか、、、
プログラムの上書きの関係で社員コードを入力していても、
部署コードのメッセージは出ませんが、逆に
部署コードを入力しているのに
社員コードのメッセージは出ます。
部署コードを入力していなければ、
$errorMsg = "部署コードを入力してください";
を表示させて他の並行した表示はさせたくないです。
①と②の部分ですね。
並行して処理しているのは分かるのですが、どうすればメッセージをうまく出せるかそのロジックがわかりません。
部署コードでログインできたら遷移するのでそれ以降の処理はなく
社員コードとパスワードでログインするのであれば部署コードの処理は必要ありません。
ってここはモデル側の話になってきそうですね。。。
ログインの処理よりもまず、この分岐を確立させたいです。
1つのページでログインパターンが2通りある画面を作っていますが
この場合、どうやって分岐させたらよろしいでしょうか?
php
1<?php 2 3require_once(dirname(__FILE__).'/LoginModel.php'); 4 5$departmentCode = filter_input(INPUT_GET, 'departmentCode'); 6$staffCode = filter_input(INPUT_GET, 'staffCode'); 7$password = filter_input(INPUT_GET, 'password'); 8 9if(!empty($_GET['submit'])) { 10 if($departmentCode){ 11 $LoginModel = nwe LoginModel(); 12 $singleLoginCheck = $LoginModel->singleLoginCheck($departmentCode) 13 if($singleLoginCheck){ 14 //$singleLoginCheckで権限フラグがあればページ遷移 15 } else { 16 $errorMsg = "入力した部署コードには権限がありません"; 17 } 18 } else {//① 19 $errorMsg = "部署コードを入力してください"; 20 } 21} 22 23if(!empty($_GET['submit'])) { 24 if($staffCode){ 25 if($password){ 26 //ここも同様に適当なメソッド作って検証して遷移 27 } else { 28 $errorMsg = "パスワードを入力してください"; 29 } 30 } else {//② 31 $errorMsg = "社員コードを入力してください"; 32 } 33} 34 35?> 36<!DOCTYPE html> 37<html> 38<head> 39 <meta http-equiv="content-language" content="ja"> 40 <meta charset="UTF-8"> 41 <meta name="robots" content="noindex,nofollow"> 42 <meta name="description" content=""> 43 <meta name="keywords" content=""> 44 <meta name="author" content=""> 45 <title></title> 46 <link rel="stylesheet" href="" /> 47 <script type="text/javascript" src=""></script> 48</head> 49<header class=""> 50 51</header> 52<body> 53 <header class=""> 54 55 </header> 56 <article> 57 <form action="" method="get" accept-charset="utf-8"> 58 <table> 59 <tbody> 60 <tr> 61 <th>部署コード</th> 62 <td><input type="text" name="departmentCode" value="<?php $departmentCode ?>" ></td> 63 </tr> 64 <tr> 65 <th>社員コード</th> 66 <td><input type="text" name="staffCode" value="<?php $staffCode ?>" ></td> 67 </tr> 68 <tr> 69 <th>パスワード</th> 70 <td><input type="text" name="password" value="<?php $password ?>" ></td> 71 </tr> 72 </tbody> 73 </table> 74 <input type="submit" name="submit" value="ログイン"> 75 </form> 76 <?php echo $errorMsg ?> 77 </article> 78</body> 79<footer> 80 <nav> 81 </nav> 82</footer> 83</html> 84
分岐条件は下記のようなりまます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/27 17:23
2016/09/27 17:25
2016/09/28 00:47
2016/09/28 02:06