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 :: Не работает isset... Почему?
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
покажите тот участок кода где объявлена данная переменная
nikola_12
Отправлено: 26 Июля, 2013 - 00:12:46
Гость
Покинул форум
Сообщений всего: 80
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
teddy пишет:
покажите тот участок кода где объявлена данная переменная
Данные идут из формы
$miniature = $_POST['miniature'];
teddy
Отправлено: 26 Июля, 2013 - 00:15:04
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Какие данные?
nikola_12 пишет:
$miniature = $_POST['miniature'];
Разницу чувствуете?
nikola_12 пишет:
if (isset($production_title))
Okula
Отправлено: 26 Июля, 2013 - 00:17:21
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
nikola_12, ты неправильно понимаешь принцип работы функции isset(). Она не сработает только если переменная не будет объявлена. В любом другом случае условие будет true.
В твоём случае нужно использовать функцию empty() с оператором отрецания !.
nikola_12
Отправлено: 26 Июля, 2013 - 00:18:36
Гость
Покинул форум
Сообщений всего: 80
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
$production_title= $_POST['production_title'];
просто по аналогии все переменные прописаны... (Добавление)
Okula пишет:
nikola_12, ты неправильно понимаешь принцип работы функции isset(). Она не сработает только если переменная не будет объявлена. В любом другом случае условие будет true.
В твоём случае нужно использовать функцию empty() с оператором отрецания !.
Спасибо! Работает!
teddy
Отправлено: 26 Июля, 2013 - 00:23:54
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Замените if (isset($production_title)) на if(!empty($production_title))
Я думаю у вас отправляется пустая строка, поэтому в условии и true
Если измените условие, тогда при наличии пустой строки будет false
Prizma
Отправлено: 26 Июля, 2013 - 00:50:05
Посетитель
Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012 Откуда: Санкт-Петербург
Помог: 5 раз(а)
nikola_12 пишет:
if (isset($production_title))
замени на
nikola_12 пишет:
if (empty($production_title))
isset - проверяет существует ли переменная т.е. если ты ее где то объявил а потом не использовал unset() то она будет существовать, а empty проверяет не пусто ли содержимое
caballero
Отправлено: 26 Июля, 2013 - 01:04:39
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
поле всегда присылает пустую строку потому isset срабатывает
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
DeepVarvar пишет:
if ($production_title = trim((string) $_POST['production_title']))
А можно узнать почему в данном примере ты привел $_POST к строковому типу? Ведь $_POST и так всегда возвращает строковый тип данных, даже если было отправлено числовое значение.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.