Проверка многостраничной формы с помощью 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="" параметр, так что вы все равно можете установить его на то, что вы хотите.

Другие вопросы по тегам