Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Как проверить переменную на пустоту?, если её значение равно нолю
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 816
Пользователь №: 37872
На форуме: 3 года, 5 месяцев, 28 дней
Карма: 26




Подскажите пожалуйста, как правильно проверить переменную на пустоту?

<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;
}


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









===
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15790
Пользователь №: 6543
На форуме: 8 лет, 3 месяца, 21 день
Карма: 299

Трезвый :
6 лет, 30 дней


ну добавь еще проверку на ноль


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

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

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 816
Пользователь №: 37872
На форуме: 3 года, 5 месяцев, 28 дней
Карма: 26




Цитата (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 "Выберите положение переключателя!";

}


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15790
Пользователь №: 6543
На форуме: 8 лет, 3 месяца, 21 день
Карма: 299

Трезвый :
6 лет, 30 дней


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


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

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

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 816
Пользователь №: 37872
На форуме: 3 года, 5 месяцев, 28 дней
Карма: 26




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


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
redreem  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 4284
Пользователь №: 29002
На форуме: 5 лет, 5 месяцев, 24 дня
Карма: 147




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

empty на нуль проверяет и так.
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3409
Пользователь №: 38635
На форуме: 3 года, 27 дней
Карма: 174




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

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

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


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


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 816
Пользователь №: 37872
На форуме: 3 года, 5 месяцев, 28 дней
Карма: 26




Цитата (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, так как переменная существует, но она пустая. Проверьте сами, если не верите.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15790
Пользователь №: 6543
На форуме: 8 лет, 3 месяца, 21 день
Карма: 299

Трезвый :
6 лет, 30 дней


Цитата (redreem @ 12.05.2016 - 15:32)
empty на нуль проверяет и так

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


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

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

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15790
Пользователь №: 6543
На форуме: 8 лет, 3 месяца, 21 день
Карма: 299

Трезвый :
6 лет, 30 дней


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


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

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

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса