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
Форумы портала PHP.SU :: Версия для печати :: проверка isset()
Форумы портала PHP.SU » PHP » Программирование на PHP » проверка isset()

Страниц (2): [1] 2 »
 

1. D1ma - 09 Июля, 2010 - 17:12:24 - перейти к сообщению
Подскажите пожалуйста при проверки данных можно как то сразу проверить несколько форм?

что бы не писать каждый раз

PHP:
скопировать код в буфер обмена
  1. f (!isset($_POST['name']))
  2. {
  3.    
  4. }
  5.  
  6. if (!isset($_POST['mail']))
  7. {
  8.    
  9. }


или так и нужно?
2. Реф - 09 Июля, 2010 - 17:24:30 - перейти к сообщению
D1ma
так тебе нужно несколько форм проверить или существование нескольких переменных?
3. D1ma - 09 Июля, 2010 - 17:30:54 - перейти к сообщению
нескольких переменных Улыбка
4. Реф - 09 Июля, 2010 - 17:32:08 - перейти к сообщению
дык и напиши их в параметры функции через запятую
5. D1ma - 09 Июля, 2010 - 17:40:05 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['name'],$_POST['login']))
  2. {
  3.     echo"OK";
  4. }


если одно поле не заполнено , все ровно на экране "OK" ... Хотя задумано что бы выводилось когда заполненные оба поля.
6. Артком - 09 Июля, 2010 - 17:43:29 - перейти к сообщению
if (isset($_POST['name']) && isset($_POST['login']))
....
7. Реф - 09 Июля, 2010 - 17:46:32 - перейти к сообщению
D1ma
значит тут врут http://www.php.su/functions/?isset
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['name']) && isset($_POST['login']))
  2. {
  3.     echo"OK";
  4. }
8. D1ma - 09 Июля, 2010 - 18:01:50 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $name = $_POST['name'];
  2.  
  3. if (isset($name))
  4. {
  5.     echo"OK";
  6. }
  7.  


поле оставляю пустым,все ровно "OK" Однако
9. Champion - 09 Июля, 2010 - 18:16:39 - перейти к сообщению
Если поле на форме есть, то элемент массива всё равно будет определен. Просто он пустым будет. Для этой проверки есть функция empty или сравнение с пустой строкой - вот такой вот: ''.
10. D1ma - 09 Июля, 2010 - 18:31:18 - перейти к сообщению
спасибо!
11. JustUserR - 10 Июля, 2010 - 03:23:15 - перейти к сообщению
Champion пишет:
Если поле на форме есть, то элемент массива всё равно будет определен. Просто он пустым будет
Все зависит от того какой конкретно передается элемент HTML-формы - в частости для тех видов текстовых полей и radio-кнопок и select-списков с одним выбором данное условие будет выполняться - однако для checkbox-ов и multi-select-ов это неправильно поскольку в случае отсутствия выбора некоторого из этих элементов он не будет передаваться вообще
Чтобы сделать поведение всех элементов формы одинаковым можно применть JS-скрипт обработчика - или вставить перед всеми потенциально-непередаваемым полями формы скрытые поля которые будут содержать false-значение на случай отсутствия выбора соответствующего элемента
12. D1ma - 10 Июля, 2010 - 21:40:03 - перейти к сообщению
хочу написать не большую форму регистрации как правильно проверять через isset или empty ?
13. SAD - 10 Июля, 2010 - 21:53:14 - перейти к сообщению
В некоторых случаях нужен isset , в других - empty
14. D1ma - 10 Июля, 2010 - 21:58:41 - перейти к сообщению
SAD пишет:
В некоторых случаях нужен isset , в других - empty



если не сложно ,пример, пожалуйста Улыбка
15. SAD - 10 Июля, 2010 - 22:20:22 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $name = 0;
  2. if (isset($name))
  3.   echo 'Yes';
  4. else
  5.   echo 'No';
  6.  
  7. if(empty($name))
  8.   echo 'Yes_1';
  9. else
  10.   echo 'No_1';

В переменную пришел ноль, переменная есть, но пустая.

 

Powered by ExBB FM 1.0 RC1