2017-10-11 7 views
-2

adminのアカウントにログインするたびにadminページにリダイレクトされ、スタッフがスタッフページにリダイレクトされる場合はどうすればよいですか?私はちょうど@ $ roles = $ _ POST ['admin'];それはadminやstaffのようなデータベースに値があるからです。adminとstaffのページを別々のページにリンクするにはどうすればいいですか

<?php 
    if(isset($_POST['login'])) 
    { 
    @$username=$_POST['username']; 
    @$password=$_POST['password']; 
    @$roles=$_POST['admin']; 
    @$roles=$_POST['staff']; 
    $query = "select * from userinfotbl where username='$username' and password='$password' "; 
    //echo $query; 
    $query_run = mysqli_query($con,$query); 
    //echo mysql_num_rows($query_run); 
    if($query_run) 
    { 
     if(mysqli_num_rows($query_run)>0) 
     { 
     $row = mysqli_fetch_array($query_run,MYSQLI_ASSOC); 

     $_SESSION['username'] = $username; 
     $_SESSION['password'] = $password; 

     header("Location: index.php"); 
     } 
     else 
     { 
     echo '<script type="text/javascript">alert("No such User exists. Invalid Credentials")</script>'; 
     } 
    } 
    else 
    { 
     echo '<script type="text/javascript">alert("Database Error")</script>'; 
    } 
    } 
    else 
    { 
    } 
?> 
+0

(in_array($の役割、$ roleAllowed)場合を持っていますか? – Swellar

+0

一般リマインダー、カバーするために '@'を使用しないでください変数が設定されているかどうかを確認してください。 – Epodax

+0

@Swellarあります。フィールド名はroleまたは$ rolesです。adminとstaffの値があります。 – Mark

答えて

0

1)ユーザーIDに基づいてDBからユーザーの役割を選択します。

2)彼が選択した役割が許可されているかどうかを確認します。あなたはそれがあるアカウントの種類を伝えるコラムを

3)

{ 
    switch($role) 
    { 
     case 'admin' : 
     header("Location: index1.php"); 
     break; 
     case 'user' : 
      header("Location: index2.php"); 
      break; 
     } 
} 
+0

セッションで暗号化されていないパスワードを保管することは良い考えではありません。 – Devanshu

関連する問題