За последние 24 часа нас посетили 22938 программистов и 1237 роботов. Сейчас ищут 748 программистов ...

Разграничение входа на страницы в сессии

Тема в разделе "Сделайте за меня", создана пользователем JustGrin, 12 июн 2018.

  1. JustGrin

    JustGrin Новичок

    С нами с:
    12 июн 2018
    Сообщения:
    1
    Симпатии:
    0
    Добрый день. У меня такая проблема: у меня есть форма входа на сайт через сессии, однако мне нужно сделать так, что бы при вводе логина и пароля обычный пользователь попадал на одну страницу, а админ на другую, но у меня возникают проблемы с написанием кода для этого. Таблица с пользователями состоит из id, login, pass и status, который я хотел как раз использовать для проверки пользователя ( у админа статус 1, у остальных его нет). Вот код:
    PHP:
    1. <?php
    2. $db = mysql_connect ("localhost","root","");
    3. mysql_select_db ("dekanat",$db);;//подкл БД
    4. ?>
    5. <?php
    6. session_start();// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
    7.  
    8. if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
    9. if (isset($_POST['pass'])) { $pass=$_POST['pass']; if ($pass =='') { unset($pass);} }
    10. //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
    11.  
    12. if (empty($login) or empty($pass)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
    13. {
    14. exit ("Вы ввели не всю информацию, венитесь назад и заполните все поля!");
    15. }
    16. //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
    17. $login = stripslashes($login);
    18. $login = htmlspecialchars($login);
    19.  
    20. $pass = stripslashes($pass);
    21. $pass = htmlspecialchars($pass);
    22.  
    23. //удаляем лишние пробелы
    24. $login = trim($login);
    25. $pass = trim($pass);
    26.  
    27.  
    28.  
    29. $result = mysql_query("SELECT * FROM userlist WHERE login='$login'",$db); //извлекаем из базы все данные о пользователе с введенным логином
    30. $mydekanat = mysql_fetch_array($result);
    31. if (empty($mydekanat['pass']))
    32. {
    33. //если пользователя с введенным логином не существует
    34. exit ("Извините, введённый вами логин или пароль неверный.");
    35. }
    36. else {
    37.           if ($mydekanat['pass']==$pass) {
    38.           //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
    39.           $_SESSION['login']=$mydekanat['login'];
    40.           $_SESSION['id']=$mydekanat['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь
    41.           echo "Вы успешно вошли на сайт! <br> <br> <a class='myButton' href='index.php'>Главная страница</a>";
    42.           }
    43.  
    44.        else {
    45.        //если пароли не сошлись
    46.        exit ("Извините, введённый вами логин или пароль неверный.");
    47.        }
    48. }
    49. ?>
    Прошу помочь с написанием этого условия или может и в какую часть кода его вставлять или может есть какой то способ проще. Заранее спасибо:)
     
  2. username

    username Новичок

    С нами с:
    6 июл 2017
    Сообщения:
    225
    Симпатии:
    17
    PHP:
    1. if ($mydekanat['status']==1) {
    2. ?><script>document.location.href="admin/";</script><?php
    3. } else {
    4. ?><script>document.location.href="lichni_kabinet/";</script><?php
    5. }