на одной странице, я делаю проверку на незаполненность полей, но вот это сообщение "Заполните оба поля" всегда выходит, даже тогда, когда еще не было клика на кнопку отправить, как сделать так, что бы оно выходило только после клика?
if (empty($_POST['login']) || empty($_POST['email'])) {
echo "Заполните оба поля";
} else {
echo "Данные полученные от пользователя:
Логин: {$_POST['login']}
E-mail: {$_POST['email']}";
}
Раздели форму и обработчик
получается, то если не разделять, то по другому никак не получиться?
у тебя аякс или просто по клику отправляется форма? проверяй isset кнопки формы - есть - значит пришли какие-то данные, нет - нет. При получении и обработки данных - делаешь редирект на ту же страницу, чтобы очистить POST
просто клик, без аякса
Можно проверять $_SERVER['REQUEST_METHOD']
Можно (if($_POST['submit'])...), но лучше отделять бизнес логику от представления. Ещё лучше, добавить валидацию на стороне фронта и сервера
ну вот тогда можно проверить всё енто дело
Обсуждают сегодня