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 :: Нуль (0) - оно же null, empty, '', FALSE

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Zend
Отправлено: 12 Мая, 2011 - 23:11:17
Post Id


Гость


Покинул форум
Сообщений всего: 126
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Принимаю числовую переменную через форму.
Надо делать проверку на пустоту, учитывая что число 0, не является пустотой..
Т.е. если пользователь написал 0 и отправил форму, скрипт должен принимать значение 0, но не как не FALSE, пустая строчка, empty и пр....
При всём при этом, если пользователь отправил пустую строчку, то эта строчка не должна равняться нулю.
Не могу придумать как реализовать.

(Отредактировано автором: 12 Мая, 2011 - 23:11:38)

 
 Top
grefon
Отправлено: 12 Мая, 2011 - 23:25:23
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




Не совсем понял, но наверное Вы говорите о тождественном равенстве:

PHP:
скопировать код в буфер обмена
  1. if ($_POST['per'] === 0) echo "переменная равна нулю";


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
OrmaJever Модератор
Отправлено: 12 Мая, 2011 - 23:34:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




PHP:
скопировать код в буфер обмена
  1. $n = $_POST['number'];
  2. if(!empty($n) or $n === '0') { ... }


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
EuGen Администратор
Отправлено: 13 Мая, 2011 - 09:04:17
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Оба варианта неточны.
Дело в том, что === проверит на тождественное равенство с точки зрения еще и типа.
Поэтому в варианте grefon мимо пройдет строка "0" а в варианте OrmaJever мимо пройдет число 0
Тогда как
PHP:
скопировать код в буфер обмена
  1.  
  2. $n=$_POST['number'];
  3. if((string)$n==='0' || !empty($n))
  4. {
  5. }
  6.  

учтет оба варианта. Но в Вашем случае скорре всего речь идет о каком-нибудь http://php.su/functions/?is_numeric
Посмотрите также http://ru.php.net/manual/en/func...n.filter-var.php


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
OrmaJever Модератор
Отправлено: 13 Мая, 2011 - 10:28:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




EuGen насколько я знаю через POST и GET приходит только string, и не важно число там или строка.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
EuGen Администратор
Отправлено: 13 Мая, 2011 - 10:32:30
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




А если было так:
PHP:
скопировать код в буфер обмена
  1.  
  2. //по каким-либо причинам мы записали в $_POST
  3. $_POST['number']=0;
  4. // ...
  5. $n=$_POST['number'];
  6. //...
  7.  

Случай конечно маловероятен. Ну и я привел пример для общего случая. (данные могут быть необязательно из $_POST)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
OrmaJever Модератор
Отправлено: 13 Мая, 2011 - 11:09:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Zend пишет:
Принимаю числовую переменную через форму.

EuGen пишет:
Ну и я привел пример для общего случая. (данные могут быть необязательно из $_POST)

Подмигивание

(Отредактировано автором: 13 Мая, 2011 - 11:09:39)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
EuGen Администратор
Отправлено: 13 Мая, 2011 - 15:32:27
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




EuGen пишет:
$_POST['number']=0;


?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
snikers987
Отправлено: 24 Сентября, 2011 - 10:41:26
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




Что-то я не пойму зачем вы проверяете 0на тождественное равенство?

Человеку нужно исключить пустое значение...

PHP:
скопировать код в буфер обмена
  1.  
  2. $num = $_POST['number'];
  3. if($num !='' && is_numeric($num))
  4. {
  5.      //выполняется обработчик
  6. }else{
  7.      echo "Введено пустое значение или введенное значение не является числом";
  8. }
  9.  
  10.  


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
DeepVarvar Супермодератор
Отправлено: 24 Сентября, 2011 - 11:05:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)





И на пустоту проверили и к типу привели...
Не???
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB