3 つの異なるレベルのアクセスがある Web サイトを作成しています
- 0 = 通常
- 1 = スタッフ
- 2 = 管理者
ログインフォームで、パスワード (SHA1) がデータベース (暗号化されている) のものと一致するかどうかを確認できましたが、ユーザー ID は確認しませんでした。
ユーザーまたはスタッフ/管理者が登録されると、それらの詳細は、詳細 (名前、生年月日など) を持つ別のテーブルに保存されます。
質問
これをコードにどのように実装しますか?
$result = mysql_query( $qs ) or die( mysql_error() ); while( $row = mysql_fetch_array( $result ) ){ $stored_password = $row['Password']; if( $stored_password == sha1( $pw ) ){ $_SESSION['Status'] = $row['Status']; if( $_SESSION['Status'] == 0 ){ echo "<h1>User Menu Loading...</h1>"; echo"<META HTTP-EQUIV='Refresh' Content='1;URL=http://***/'>"; }else{ echo "<h1>Incorrect Password.</h1>"; echo"<META HTTP-EQUIV='Refresh' Content='1;URL=http://**/login.php'>"; } }
これら 3 種類のユーザーすべてがログイン ページからログインし、2 つの異なるテーブルからデータを取得できる方法はありますか?
私は多くの方法を試しましたが、空白の画面が表示され続けるか、それが表示されます
間違ったパスワード
パスワードが正しいにもかかわらず。
変数
$un = $_POST['User_ID'];
$sf = $_POST['Staff_ID'];
$pw = $_POST['Password'];
$st = $_POST['Status'];
そうでない場合は、別のログイン領域を作成する必要があると思います。
ありがとうございます (私は現在 mysql を mysqli に変更しています)
編集
$qsの最新の試行を追加
$qs="SELECT Cadets.Cadet_ID, Cadets.Password, Cadets.Status,
Staff.Staff_ID, Staff.Password, Staff.Status,
FROM Cadets, Staff
WHERE Cadets.Cadet_ID ='$un' AND Staff.Staff_ID = '$sf'";