Я попытался создать форму с помощью метода post, и я хочу проверить, заполнены ли поля isset (). Но даже если поля пусты, isset возвращает true.
Вот упрощенный код: (имя страницы: test.php, метод post направлен на себя)
if (isset($_POST['test'])) {
echo 'field set';
}
?>
<form method="post" action="test.php">
<input type="text" name="test"/>
<input type="submit" value="Submit"/>
</form>
Когда вы отправляете сообщение, оно всегда повторяет «набор полей», даже если вы ничего не вводили в «тест».
Спасибо за ваши ответы!
Так что проверь $_POST['test']
пусто или нет и попробуйте вот так
if (isset($_POST['test']) && trim($_POST['test']) != '') {
echo 'field set';
}
Вы также можете использовать empty
,но Note that "0" is also "empty"
и наряду с этим лучше trim
входы для удаления пробелов. Другой способ — проверить длину ввода, используя strlen
if (isset($_POST['test']) && trim(strlen($_POST['test'])) > 0) {
echo 'field set';
}
попробуй с empty()
проверить бланк причины после отправки формы $_POST['test']
всегда находится в isset()
даже пусто так что нужно проверить с empty()
if (!empty($_POST['test'])) {
echo 'field set';
}
0
будет пустым / пустым с проверкой empty()
Вы можете сделать это с empty()
method.try с этим кодом.
пример: echo !empty($_POST['test']) ? "field set" : ""
;
Это будет отображать, что ваше поле установлено, потому что все, что вы проверяете, является ли ключ массива test
существует с isset()
, Пока у вас есть поле в форме с именем test
, он создаст пустой ключ, что приведет к его установке.
Что бы вы предпочли, это посмотреть, установлен ли ключ, и также является ли ключ пустым или нет.
Это вы можете сделать:
if( isset( $key['test'] ) && $key['test'] !== "" ){
//Do something
}