[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проверка заполнения полей формы не работает
zenbool
Всем привет. Не могу найти объяснения почему пустое поле формы отдает серверу string(0), а не NULL
Есть форма:

<form action="" method="post">
<input
type="text" name="title" value="">
<textarea
name="description" placeholder="Введите..."></textarea>
<textarea
name="text"></textarea>
<input
type="text" name="category" placeholder="Укажите...">
<input
type="submit" name="add" value="Add News">
</form>


Которую принимает обработчик и прежде, чем выполнить запись в базу проверяет заполненность полей:
if (isset($_POST['add'],$_POST['text'],$_POST['description'],$_POST['category'],$_POST['title'])) { 
var_dump($_POST);
/* запрос к базе данных */
}

var_dump вставлен потому как if(isset) пропускает отправку абсолютно пустой формы.
var_dump показывает следующее:
array(5) { ["title"]=> string(0) "" ["description"]=> string(0) "" ["text"]=> string(0) "" ["category"]=> string(0) "" ["add"]=> string(8) "Add News" }


Не могу понять почему так. Чего я не знаю?
Apache 2.4 / PHP 5.6
Игорь_Vasinsky
все верно NULL != 0 != ' '

и тебе не на isset() проверять надо, а на !empty()

isset всегда будет true - даже когда поля формы не заполнены, они будут - ПУСТЫ

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

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