За последние 24 часа нас посетили 73599 программистов и 10174 робота. Сейчас ищет 2881 программист ...

Куки + вывод ошибок == фэйл. Куки без вывода ошибок == ОК. Как так?

Тема в разделе "PHP для новичков", создана пользователем tangar, 3 окт 2017.

  1. PhpStorm

    PhpStorm Новичок

    С нами с:
    21 сен 2017
    Сообщения:
    65
    Симпатии:
    11
    Адрес:
    JetBrains
    нет, в данном случае isset вернула true при пустоте существующей переменной
    --- Добавлено ---
    там же понятно, что перечень определения пустоты я дал Вам для первого варианта из Вашего примера
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    сударь, вы въеаврпвап говна?

    PHP:
    1. <?php
    2.  
    3. $var = 0;
    4.  
    5. // Проверка вернет TRUE, поэтому текст будет напечатан.
    6. if (isset($var)) {
    7.     echo "Эта переменная определена, поэтому меня и напечатали.";
    8. }
    https://php.net/manual/ru/function.isset.php#example-6183
     
  3. PhpStorm

    PhpStorm Новичок

    С нами с:
    21 сен 2017
    Сообщения:
    65
    Симпатии:
    11
    Адрес:
    JetBrains
    там же понятно, что перечень
    а Вы как хотели?
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    ты еще считаешь что - то значение сыграло роль ?
     
  5. PhpStorm

    PhpStorm Новичок

    С нами с:
    21 сен 2017
    Сообщения:
    65
    Симпатии:
    11
    Адрес:
    JetBrains
    да, потому что оно не равно null
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Хватит уже агриться. Он тебе дело говорит.
    Проверять инпуты через фильтр инпут, в общем-то правильно. Даже если ты привык иначе.

    Использовать !empty в подавляющем большинстве случаев правильно, если только пустое значение для нас тоже не значимо.

    В js мы можем просто бомбануть if(var), и если var не объявлена, получить false.
    В php так нельзя. Мы получим нотис за обращение к необъявленной переменной.
    И тут либо городить (isset($var) && ($var)), либо просто !empty.
     
    #31 Fell-x27, 4 окт 2017
    Последнее редактирование: 4 окт 2017
    PhpStorm нравится это.
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    на счет nullа не спорю, а так останусь при своем мнении
     
    PhpStorm нравится это.
  8. PhpStorm

    PhpStorm Новичок

    С нами с:
    21 сен 2017
    Сообщения:
    65
    Симпатии:
    11
    Адрес:
    JetBrains
    мы говорим об одном и том же, тут всё зависит от заранее заложенной логики кода
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    На здоровье.
    Я, в последнее время, кстати, вообще ушел от isset и empty в условиях.
    Все больше использую js-стиль:

    PHP:
    1. if ($var ?? false){
    2.  
    3. }
    Или

    PHP:
    1. foreach($array ?? [] as $key=>$val){
    2.  
    3. }
    Избавляет код от нагромождения проверок избыточных.
     
    askanim, xaker01 и romach нравится это.
  10. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.724
    Симпатии:
    358
    @Fell-x27 хороший синтаксис.. теперь и я буду так делать)) почему то не додумался))
    так то делал..
    PHP:
    1. $var = $var ?? false
    а так как Вы, прямо в foreach нет))
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    А дело вкуса, на самом деле. Ну и здравого смысла. Если переменная используется в нескольких местах, то, конечно, лучше один раз ее так прогнать.

    Еще я так люблю GET/POST-ы считывать.

    PHP:
    1. $var = $_GET['var'] ?? false;
    Хотя тут, конечно, лучше фильтры юзать. Они и проверят и в порядок приведут все. Но, порой, лень их городить ради одного-двух значений целочисленных, которые интвалом можно провернуть.

    И да, чего-то я вдруг "Вы" стал? О_о Брось ты это. Ладно, если б первый раз в жизни меня в треде встретил, типа вежливость, все такое, ну а так... Все свои ж.
     
    Алекс8 нравится это.
  12. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.724
    Симпатии:
    358
    у меня привычка)) я раньше в продажах работал)) там всем всегда выкал))