Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Ошибки при считывании с input
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
Нуб пишет:
if ($_POST['user'] <> 0)
по его коду видно, что даже если условие не сработает, то должно заполнится именем по умолчанию, хотя согласен с тобой, что лучше использовать проверку через isset и empty
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
LIME пишет:
KingStar пишет:
хотя согласен с тобой, что лучше использовать проверку через isset и empty
почему?
потому что если не будет передана переменная $_POST['user'], будет вызвана ошибка, для этого и проверяется isset, а чтобы проверить пуста она или нет - empty придумали
Покинул форум
Сообщений всего: 329
Дата рег-ции: Янв. 2012
Помог: 6 раз(а)
LIME пишет:
Hawkmoth пишет:
Но все равно коробит, когда нечисловые значения проверяют таким образом.
почему?
Гм. По чисто субъективным моментам - удобочитаемости кода, например. При взгляде на код с таким вариантом проверки у меня лично "напрашивается" числовое значение проверяемого элемента. Если я не прав и существуют ситуации, когда принципиально именно таким образом проверять на не-пустоту другие типы данных - поправьте.
----- То что программа работает, не означает что она написана правильно!
LIME
Отправлено: 21 Июля, 2012 - 22:25:06
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
KingStar пишет:
потому что если не будет передана переменная $_POST['user'], будет вызвана ошибка,
не будет
нотайс не ошибка
Hawkmoth пишет:
Если я не прав и существуют ситуации, когда принципиально именно таким образом проверять на не-пустоту другие типы данных - поправьте.
хз...я не парюсь пишу переменную просто
не всегда но бывает
KingStar
Отправлено: 21 Июля, 2012 - 22:26:02
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
Hawkmoth пишет:
LIME пишет:
Hawkmoth пишет:
Но все равно коробит, когда нечисловые значения проверяют таким образом.
почему?
Гм. По чисто субъективным моментам - удобочитаемости кода, например. При взгляде на код с таким вариантом проверки у меня лично "напрашивается" числовое значение проверяемого элемента. Если я не прав и существуют ситуации, когда принципиально именно таким образом проверять на не-пустоту другие типы данных - поправьте.
обрати внимание на имя input, и на имя по умолчанию - не пахнет здесь числом
LIME пишет:
не будет
нотайс не ошибка
почему не будет??? я не утверждаю что это фатальная ошибка, но если нет переменной такой, пых тебе обязательно об этом скажет, что нет такой переменной (Undefinid index), и не доказывай, я сам на этом не раз ловился
стоит только пееред ней сделать проверку isset - и проблем нет
----- То что программа работает, не означает что она написана правильно!
LIME
Отправлено: 21 Июля, 2012 - 22:36:26
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
KingStar повторяю
нотайс является предупреждением а никак не ошибкой
на продакшене вывод ошибок вообще следует отключать (Добавление)
KingStar пишет:
я сам на этом не раз ловился
бедняга))
Hawkmoth
Отправлено: 21 Июля, 2012 - 22:38:59
Посетитель
Покинул форум
Сообщений всего: 329
Дата рег-ции: Янв. 2012
Помог: 6 раз(а)
KingStar пишет:
обрати внимание на имя input, и на имя по умолчанию - не пахнет здесь числом
Да я вижу, что не пахнет. Я говорю о том, что при беглом взгляде на код, точнее конкретно на строку с условием типа if ($bla_bla_bla<>0), складывается впечатление, что проверяется какое-то числовое значение. Насколько я понял, технически разницы нет, но (повторюсь) по моим чисто субъективным представлениям, проверка строки на не-пустоту с помощью empty() нагляднее и логичнее. (Ну, там, "... склонный к насилию психопат ..." и все дела ) (Добавление)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.