пусто ($ _ POST) === FALSE не работает должным образом

Я тестировал пустую функцию в php, но она не работает, потому что оператор if доступен независимо от того, является ли условие ложным или истинным.

<?php
if(empty($_POST) === false){

echo 'text';
}
?>



<form action="index.php"  method="post">
Username:
<input type="text" name="text">
<input type="submit" name="submit">
</form>

Эхо выполняется, даже если вход пуст.

Зачем ??

2

Решение

Это потому что $_POST НИКОГДА не будет пустым после получения запроса POST от form с input ценности внутри него.

если ты var_dump ваш, вы увидите:

textarray(2) { ["text"]=> string(0) "" ["submit"]=> string(12) "Submit Query" }

Даже твой submit input отправлено (так как оно является частью form). И даже ничего не получая, $_POST вернет пустой массив, поэтому ни isset это хороший вариант для проверки POST сбой или успех.

Вам нужно оценить конкретное поле, как $_POST['text']вместо пустоты.

4

Другие решения

if(isset $_POST["text"] && $_POST["text"] !=null)

также попробуйте использовать == вместо ===
== приведёт к значению $ _POST, так что если оно равно NULL, оно будет оценено как ложное

1

По вопросам рекламы [email protected]