Проверка многостраничной формы с помощью php
Это мой первый пост, так что будьте добры;)
Я хочу создать многостраничную форму с php.
Форма будет распространяться на 3 страницы, каждая страница должна будет проверяться по данным, введенным в форму на клиенте (с использованием проверки jquery), а если javascript отключен, на сервере, где сообщения об ошибках должны отображаться рядом с соответствующей формой. поле.
После проверки данные должны быть переданы на следующую страницу в форме, предпочтительно с использованием переменных сеанса.
Основная проблема, с которой я сталкиваюсь, состоит в том, что большинство сценариев проверки теперь оставляют action="" как самостоятельную ссылку на текущую страницу, и поэтому такие переменные записи не могут быть переданы на другую страницу в цепочке форм.
Я хочу иметь скрипт проверки, который будет проверять, а затем публиковать на новой странице после нажатия кнопки отправки.
Спасибо
Питер
4 ответа
Вам не нужно публиковать на следующей странице.
Вы можете проверить поля формы на текущей странице, сохранить их в сеансе, а затем использовать header("location: nextPage.php"); exit(0);
перенаправить, чтобы перейти на следующую страницу.
Вы должны использовать шаблон почтового перенаправления. Разместите переменные на следующей странице (контрольная страница). Если проверки пройдены, эта страница выполняет
header("Location: /page2.php");
после сохранения опубликованных переменных в сеансе. Если проверка на стороне сервера завершится неудачно, вы создадите заголовок для page1.php с ошибкой. Таким образом, вы можете использовать кнопку "Назад".
Как правило, вы можете сделать что-то вроде
<form onsubmit="return validateForm();" method="post" action="/wherever">
И это вызовет вашу форму проверки JavaScript, а не отправку формы, если форма проверки вернет false.
Вам также нужно будет выполнить проверку на стороне сервера, и я предлагаю вам сохранить результаты предыдущих проверенных форм в сеансе, а не повторно публиковать их (так как они не будут повторно проверяться каждый раз!)
Я рекомендую этот валидатор JS. Очень прост в использовании и не зависит от action=""
параметр, так что вы все равно можете установить его на то, что вы хотите.