[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как проверить переменную на пустоту?
arbuzmaster
Подскажите пожалуйста, как правильно проверить переменную на пустоту?

<select style="text-align:center" name="switch_status" >
<option
selected disabled value="">Выбрать положение</option>
<option
value="1">Включить</option>
<option
value="0">Выключить</option>
</select>


Если делаю так,то 0 не проходит, а ставить isset нет ни какого смысла, так как переменная существует, просто в ней null при условии что ничего не выбрано.

if(empty($_GET['switch_status']))
{
echo "Выберите положение переключателя!";
}
else
{

$id_scene = md5(generateCode(10));
echo $id_scene;
}


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Guest
===
twin
ну добавь еще проверку на ноль

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
arbuzmaster
Цитата (twin @ 12.05.2016 - 18:20)
ну добавь еще проверку на ноль

Вот так работает, правильно ли это?

if($_GET['switch_status']==='0' or $_GET['switch_status']==='1')
{
$id_scene = md5(generateCode(10));
echo $id_scene;
}
else
{
echo "Выберите положение переключателя!";

}


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
twin
Технически правильно, логически не очень. Будет сложно добавить еще значений, если потребуется. Я бы сделал как то так:
if(empty($_GET['switch_status']) && $_GET['switch_status'] != 0) 
{
echo "Выберите положение переключателя!";
}
else
{


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
arbuzmaster
Понятно, спасибо за ответы!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
redreem
Цитата (twin @ 12.05.2016 - 19:55)
Технически правильно, логически не очень. Будет сложно добавить еще значений, если потребуется. Я бы сделал как то так:
if(empty($_GET['switch_status']) && $_GET['switch_status'] != 0) 
{
echo "Выберите положение переключателя!";
}
else
{

empty на нуль проверяет и так.
AllesKlar
Цитата (arbuzmaster @ 12.05.2016 - 15:35)
ставить isset нет ни какого смысла, так как переменная существует

Что значит и так существует? Это GET, при обращениеи к скрипту без указания параметра, он будет пустым. Или если селектор не будет выбран.
Так что, пиши правильно и не выдумывай ерунды.

if(isset($foo) && $foo >=0) {
.....
} else {
......
}


А потом удивляются все, чего это работодатели 5000 гривен платить собираются?
А есть за что больше платить?

_____________
[продано копирайтерам]
arbuzmaster
Цитата (AllesKlar @ 12.05.2016 - 22:20)
Цитата (arbuzmaster @ 12.05.2016 - 15:35)
ставить isset нет ни какого смысла, так как переменная существует

Что значит и так существует? Это GET, при обращениеи к скрипту без указания параметра, он будет пустым. Или если селектор не будет выбран.
Так что, пиши правильно и не выдумывай ерунды.

if(isset($foo) && $foo >=0) {
.....
} else {
......
}


А потом удивляются все, чего это работодатели 5000 гривен платить собираются?
А есть за что больше платить?

Данное условие в моём случае всегда выдает true, а мне это не подходит, поэтому я и спросил! при проверке isset если в select ничего не выбрано выдает true, так как переменная существует, но она пустая. Проверьте сами, если не верите.

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
twin
Цитата (redreem @ 12.05.2016 - 15:32)
empty на нуль проверяет и так

В том и дело. Ты внимательно посмотри на логику.
Цитата (AllesKlar @ 12.05.2016 - 18:20)
Это GET, при обращениеи к скрипту без указания параметра, он будет пустым
Ему не обращение к скрипту нужно обработать, а первый опшен. И GET там из формы наверняка.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
По хорошему нужно нотисов еще избежать. Чтобы не городить огород, я бы так сделал:
if(empty($_GET['switch_status']) && 0 != @$_GET['switch_status']) 
{
echo "Выберите положение переключателя!";
}


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.