За последние 24 часа нас посетили 16570 программистов и 1644 робота. Сейчас ищут 1306 программистов ...

сессии и работа с ними

Тема в разделе "PHP для новичков", создана пользователем stanislav1708, 11 апр 2018.

  1. stanislav1708

    stanislav1708 Новичок

    С нами с:
    8 фев 2018
    Сообщения:
    12
    Симпатии:
    0
    Здравствуйте,возникла такая проблема:
    PHP:
    1.         if ($_SESSION['logged_user']['admin'] == 1 || 2) {
    2.             echo "Вы администратор с уровнем доступа: ".$_SESSION['logged_user']['admin']."<br>";
    3.         }else{
    4.             echo "Вы пользователь<br>";
    5.         }
    делаю проверку равняется ли значение в сессии 1 или 2,но даже если значение равно 0 то выводиться строчка Вы администратор с уровнем доступа: 0, подскажите пожалуйста как решить проблему?
     
  2. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    ну это тоже самое что if(2) 2 это true или false?
     
  3. stanislav1708

    stanislav1708 Новичок

    С нами с:
    8 фев 2018
    Сообщения:
    12
    Симпатии:
    0
    2 это try
     
  4. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    значит скрипт работает правильно.
    $_SESSION['logged_user']['admin']==1 || $_SESSION['logged_user']['admin']==2
     
    stanislav1708 нравится это.
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    in_array забыл ?
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    а какие еще варианты значений у $_SESSION['logged_user']['admin'] ? если еще 0 - не админ, то делай просто
    PHP:
    1. if ($_SESSION['logged_user']['admin']) {
    2.   // он какой-то админ ;)
    3. }
    --- Добавлено ---
    потому что 0 интерпретируется как false

    вообще любое "пустое" значение, попавшее в if() будет обработано как false. что такое "пусто" ты можешь выяснить из описания встроенной функции empty(): http://php.net/empty