前提・実現したいこと
ログイン画面において、管理者と非管理者でログイン先の分岐を作成しています。
プログラム初心者ですが、宜しくお願いします。
発生している問題・エラーメッセージ
MYSQLからデーター(ID・パス・管理者フラグ)を取得して管理者フラグで遷移先を変えようとしてますが、
分岐が上手く機能してない状態です。
Notice: Undefined variable: manager in /home/public/login3.php on line 19 Notice: Undefined variable: manager in /home/public/login3.php on line 27
該当のソースコード
$query = "select syain_name,password,manager_flg from syain_info where syain_name = '".$_POST['loginid']."' and password = '".$_POST['pass']."'and manager_flg ='".$manager['flg']."'"; if($result = mysqli_query($link,$query)){ if(mysqli_num_rows($result)!=1){ echo'<br>ログインに失敗しました。<a href="login3.html">ログイン画面に戻る。</a>'; echo $_POST['loginid']; echo $_POST['pass']; echo $manager['flg']; exit; } else { $i=0; while($row = mysqli_fetch_row($result)){ $employer_id[$i] = $row[0]; $employer_pass[$i] = $row[1]; $manager_flg[$i] = $row[2]; $i++; } mysqli_free_result($result); echo'<br>ログインに成功しました'; echo $_POST['loginid']; echo $_POST['pass']; echo $manager_flg[$i]; } } session_save_path('/home/public/session/'); session_start(); $_SESSION = array(); $_SESSION['id'] = $employer_id[0]; $_SESSION['pass'] = $employer_pass[0]; mysqli_close($link); if(isset($manager_flg[$i])){ if($manager_flg[$i] == 1){ header('location:./syainlist.php'); } else { header('location:./syainsyosai.php'); } }
試したこと
配列に値がセットされてるか、echoで出してみました。
管理者フラグだけ表示されませんでした。
ログインに失敗しました。ログイン画面に戻る。太郎123456***
***の処に管理者フラグが表示されるはずでした。
補足情報(FW/ツールのバージョンなど)>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。