пятница, 6 апреля 2018 г.

PHP. Как правильно проверять формы.

Во-первых.
Вместо того, чтобы писать проверку вроде:
if($_POST["name"]){}



Рекомендуется писать:
if($_SERVER["REQUEST_METHOD"] == "POST"){}
Дело в том, что данные могут не попадать в массив. Сначала мы проверяем был ли вообще POST, а потом было ли такое поле.

Во-вторых.
Лучше проверять заполнение полей, не через isset, а через empty.
Пишем if(empty($name)) echo "Заполните поле!";

Этот нюанс зависит от типа input-а. Если мы работаем, например, с <input type="checkbox">, то проблем нет.
Его можно проверять isset. Если галочку поставили, то поле посылается, если нет, то не посылается.

Проблема возникает именно с текстовыми полями <input type="text">. Эти поля всегда посылаются даже, если они пустые.
А PHP, принимая их без значения, инициализирует их пустой строкой. А поскольку он их проинициализировал, т.е присвоил, то они isset.
Поэтому текстовые поля мы проверяем на empty.




Комментариев нет:

Отправить комментарий

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html