2017-03-23 2 views
-2

私はログインページを作成してレベル1,2からのアクセスを許可します。レベル1と2のユーザーがログインできるようになりました。

私はどのように私はこの作業を行うことができますしてくださいここで

$query = "SELECT * FROM affiliateuser WHERE (username = '" . mysqli_real_escape_string($con,$_POST['username']) . "') AND (password = '" . mysqli_real_escape_string($con,$_POST['password']) . "') AND (active = '" . mysqli_real_escape_string($con,"1") . "')"; 
if ($result = $mysqli->query($query)) { 
if ($row = $result->fetch_assoc()) { 
    if($row['level'] == 1 || $row['level'] == 2) { 
     // Set username session variable 
    session_start(); 
    $_SESSION['username'] = $username; 

    $errormsg= " 
<div class='alert alert-warning' style='opacity: 0.5; background-color: rgb(51, 204, 102);'> <button type='button' class='close' data-dismiss='alert' aria-label='Close'>  <span aria-hidden='true'>&times;</span> </button> <strong>SUCCESS...</strong> Redirecting you to dashboard. </div>"; 

    echo "<meta http-equiv='refresh' content='=2;dashboard' />"; 
    } 
    else { 
     //UNAUTHORIZED 

から次のステップを知らないのですか?

答えて

0

問題は、あなたが唯一の最も簡単な解決策は

level IN (1,2) 

ユーザー別の解決策を選択するためのクエリを更新するだろう= 1

レベルをユーザーになり選択している、あなたの実際のコードでありますWHERE level = ...句を削除し、後でPHPコードで確認してください。あなたがその内容の確認している必要はありませんmysql_real_escape_stringにハードコードされた文字列があります:この方法であなたは異なっ

$query = "SELECT * FROM affiliateuser WHERE (username = '" . mysqli_real_escape_string($con,$_POST['username']) . "') AND (password = '" . mysqli_real_escape_string($con,$_POST['password']) . "') AND (active = '" . mysqli_real_escape_string($con,"1") . "')"; 
if ($result = $mysqli->query($query)) { 
    if ($row = $result->fetch_assoc()) { 
     if($row['level'] == 1 || $row['level'] == 2) { 
      //ALL GOOD 
     } else { 
      //UNAUTHORIZED 
     } 
    } else { 
     //WRONG USERNAME/PASSWORD 
    } 
    $result->close(); 
} 

注間違ったパスワードや不正エラーを処理することができ、あなたの例では「レベル」は常に「1」になります

+0

ありがとうございました – victwa

+0

私の答えを更新しました – alpadev

+0

ありがとうございました – victwa

関連する問題