Запоминание ролей

Никак не могу разобраться как сделать разделение ролей у пользователей, мне это чисто для курсача надо, помогите люди добрые пж, уже все что можно перерыл, там либо полностью переделывать в сто раз больше, либо вообще ничего непонятно.

Файл авторизации:


  session_start();

  $name = filter_var(trim($_POST['name']),
  FILTER_SANITIZE_STRING);
  $pass = filter_var(trim($_POST['pass']),
  FILTER_SANITIZE_STRING);

  $pass = md5($pass."abc7709");

  $mysql = new mysqli('localhost', 'root', '', 'registration');

  $result = $mysql->query("SELECT * FROM `users` WHERE `name` = '$name' AND `pass` = '$pass'");
  $user = $result->fetch_assoc();

  $role = $mysql->query("SELECT * FROM `users` WHERE `status` =  '1'");
  $user1 = $role->fetch_assoc();

  //echo $user1;

  if ($user1 == '1'){
    $_SESSION['role'] = 'admin';
  }
  else {
    $_SESSION['role'] = 'guest';
  }


  if (count($user) == 0) {
    echo "Такой пользователь не найден";
    exit();
  }

  setcookie('user', $user['name'], time() + 3600 * 24, "/");

  $mysql->close();

  header('Location: index__main.php');


?>

Файл где проверяю работает ли роль:

<?php
    if($_SESSION['role'] == 'admin'){ 
    echo '<a href="../admin"><button class="green">Панель администратора</button></a>';
  }
  else {
    echo 'То что может видеть не зарегестрированый пользователь';
  }
?>

Что лично я заметил так это то что из базы данных $role или $user1 не берет вообще никакой информации, потом что при проверке путем if(empty($_SESSION['role'])); то все выводит, до этого пробовал и через просто $user, и попробовать переделать это под var, но все равно ничего не выходит, голова уже соображает, путаться начинаю


Ответы (1 шт):

Автор решения: DrMcSheen

fetch-assoc() возвращает массив, т.е целиком строку из базы. Поэтому условие if ($user1 == '1') не будет работать.

Далее,

`SELECT * FROM `users` WHERE `status` =  '1'` 

выберет ВСЕ строки, где status=1, невзирая на логин-пароль. Итого, делаем единственный запрос:

 $result = $mysql->query("SELECT * FROM `users` WHERE `name` = '$name' AND `pass` = '$pass'");
 $user = $result->fetch_assoc();
 if ($user['status'] == '1'){
....
→ Ссылка