2009-08-06 2 views
4

Это мой первый пост, так что будьте добры;)Многостраничная проверка формы с помощью php

Я хочу создать многостраничную форму с php.

Форма будет распространяться на 3 страницы, каждая страница должна будет подтвердить данные, введенные в форму на клиенте (с использованием проверки jquery), и если javascript отключен на сервере, где должны отображаться сообщения об ошибках кроме поля соответствующей формы.

После проверки данные должны быть переданы на следующую страницу в форме, предпочтительно с использованием переменных сеанса.

Основная проблема, с которой я столкнулась, заключается в том, что большинство скриптов проверки теперь оставляют действие = "" как самонаводящееся к текущей странице, и поскольку такие пост-переменные не могут быть переданы на другую страницу в цепочке форм.

Я хочу иметь скрипт проверки, который будет проверять, а затем отправить на новую страницу после нажатия кнопки отправки.

Благодаря

Peter

ответ

6

Вы не должны размещать на следующей странице.

Вы можете проверить поля формы на текущей странице, сохранить их в сеансе, а затем использовать перенаправление header("location: nextPage.php"); exit(0); для перехода на следующую страницу.

+0

+1 Это правильный способ сделать это. –

+0

Спасибо за это, на размышления, это лучший подход! Приветствия. – mathalete

-1

I reccommend this JS валидатор. Очень прост в использовании и не зависит от параметра action="", поэтому вы все равно можете настроить его так, как хотите.

0

в целом, вы можете сделать что-то вроде

<form onsubmit="return validateForm();" method="post" action="/wherever"> 

И это будет вызывать JavaScript форма проверки, не заполнив форму, если форма проверки возвращает ложь.

Вам также потребуется выполнить проверку на стороне сервера, и я предлагаю вам сохранить предыдущие формы проверенных результатов в сеансе, а не повторно размещать их (так как они не должны быть повторно проверены каждый раз!).

0

Вы должны использовать шаблон перенаправления после публикации. Дать переменные к следующей странице (контроль страницы), если валидация передать то, что страница делает

header("Location: /page2.php"); 

после сохранения размещены переменные сессии. Если проверка на стороне сервера терпит неудачу, вы делаете заголовок на странице1.php с ошибкой. В этом случае вы можете использовать кнопку «Назад».

Смежные вопросы