Сессии PHP и имеют кнопки «предыдущий» и «следующий» и сохранить значения - PullRequest
3 голосов
/ 20 августа 2011

У меня есть многостраничная форма.

Я хотел бы иметь кнопки «предыдущий» и «следующий» на страницах 2, 3 и 4, чтобы, если пользователь находится в процессе заполнениястраница 2 может решить вернуться на страницу 1, чтобы отредактировать / ввести что-либо и иметь возможность видеть значения на странице 2, где он остановился.

Возможно ли это?любые указатели / ссылки были бы чрезвычайно полезны.

(Да, у меня есть сеансы, и я могу видеть сеансы после printr, но если я нахожусь в середине страницы 2 и щелкаю назад, я все еще не вижу эти сеансы).

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 20 августа 2011

Запустите сеанс, когда пользователь перейдет на страницу 1. Каждая страница должна посмотреть в сеансе, чтобы увидеть, есть ли там какие-либо данные для этой страницы, и, если это так, визуализировать форму с предварительно заполненными значениями. Когда пользователь нажимает PREV или NEXT, обрабатывает форму, как если бы он нажимал submit, но вместо сохранения значений в (например) базе данных сохраните их в сеансе. Затем перенаправьте на запрошенную страницу NEXT / PREV. Когда пользователь нажимает кнопку «Готово» (или что-то еще) на последней странице, извлекает все значения из сеанса и обрабатывает их в своей базе данных (или что-то еще).

1 голос
/ 20 августа 2011
  1. Вы можете сохранить все данные в базе данных при их перемещении на другую страницу, а также распечатать эти значения при загрузке страницы.Это все равно придется отправлять на сервер через AJAX в случае нажатия «Предыдущая» ссылка.

  2. Вы можете поместить все страницы в одну html-страницу, а затем просто скрыть / показатьправильные страницы, когда они перемещаются с использованием JavaScript.

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

1 голос
/ 20 августа 2011

Для простого подхода к «многошаговой» форме просто используйте Javascript. Это то, что я делаю.

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

Когда вы заполняете страницу, массив POST заполняется на странице 2. Сериализация массива почтовых данных и сохранение его в массиве сеансов. Вернитесь на страницу 1, если этот массив сеансов установлен, отмените сериализацию данных и отобразите значения в нужный элемент формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...