2017-03-23 3 views
-2

제발 레벨 1과 2에서 사용자에게 액세스 권한을 부여하려면 로그인 페이지를 만들고 싶습니다. 코드는 다음과 같습니다.레벨 1 및 2 사용자가 로그인 할 수 있습니다. PHP

내가

$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

문제

가장 쉬운 솔루션은 사용자를 선택하는 쿼리를 업데이트하는 것 1 곳

level IN (1,2) 

또 다른 해결책은 것, 당신은 단지 수준의 사용자를 선택하고 = 실제 코드에 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

관련 문제