Остановить пользователя для доступа к панели администратора в разрешении php - admin - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь сделать систему входа в систему для обычного пользователя и администратора.Я сделал столбец «user_rang» в базе данных, нормальный пользователь имеет значение - 0, Admin - 1. Я хочу проверить, входит ли обычный пользователь или администратор при входе в систему.Если администратор, переместил бы это к adminpanel.php, если нормальный пользователь к index.php.Как это сделать.На данный момент у меня что-то подобное, но это не работает.Это login.php:

session_start(); 

include('config.php');

if(isset($_SESSION['login_id'])){
  if (isset($_SESSION['pageStore'])) {
      $pageStore = $_SESSION['pageStore'];
header("location: $pageStore"); 
}

if (isset($_POST['signIn'])) {
if (empty($_POST['email']) || empty($_POST['password'])) {
echo "fill the fields";
}
else
{

$email = $_POST['email'];
$password = $_POST['password'];
$rang = $_POST['user_rang'];

include('config.php');

$sQuery = "SELECT id, password from account where email=? LIMIT 1"; 
$rQuery = "SELECT user_rang from account where user_rang=";

$stmt = $conn->prepare($sQuery);
$stmt->bind_param("s", $email);
$stmt->execute(); 
$stmt->bind_result($id, $hash); 
$stmt->store_result(); 

$stmt = $conn->prepare($rQuery); 

if ($rang == "1") { 
header("location: adminpanel.php");

}

else {

echo('No permission');

}

if($stmt->fetch()) { 
  if (password_verify($password, $hash)) {
          $_SESSION['login_id'] = $id;

          if (isset($_SESSION['pageStore'])) {
            $pageStore = $_SESSION['pageStore'];
          }
          else {
            $pageStore = "index.php";
          }
          header("location: $pageStore"); 
          $stmt->close();
          $conn->close();

        }
else {
       echo 'Unable login or password!';
     }
      } else {
       echo 'Unable login or password!';
     }
$stmt->close();
$conn->close(); 
}
}
?>

1 Ответ

0 голосов
/ 19 мая 2019

Вы можете проверить user_range столбец по циклу while:

во-первых, добавить столбец к запросу:

$sQuery = "SELECT id, password, user_rang from account LIMIT 1"; 

И затем получить user_range в то время как:

while($row = $stmt->fetch_array()){
    if ($row['user_rang'] == '1'):
        header("location: index.php"); 
    else:
        header("location: adminpanel.php"); 
    endif;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...