Самый простой способ сохранить данные на странице PHP - PullRequest
2 голосов
/ 24 июня 2009

Я веб-приложение, которое я разрабатываю (разрабатываю на PHP), когда пользователь отправляет любой запрос на обслуживание, и пользователь должен заполнить очень длинную форму.

Как только пользователь заполняет форму и отправляет ее, загружается другая страница (страница подтверждения), на которой отображаются все значения, заполненные пользователем. Я должен указать, что на данном этапе данные еще не сохранены в MySQL. Теперь на этой странице пользователь может либо сохранить запрос на обслуживание, либо вернуться назад.

Моя проблема начинается здесь. Когда пользователь возвращается . Все данные заполнены - потеря . Кстати, пользователи, как правило, используют кнопку «Назад» в браузере вместо кнопки «Назад» на странице подтверждения.

Как сохранить данные, заполненные пользователем, чтобы пользователь мог редактировать / вносить изменения в данные и снова отправлять измененные данные.

Ответы [ 8 ]

5 голосов
/ 24 июня 2009

Если вы еще не сохранили его в БД, вы могли бы сохранить значения в пользовательском сеансе. Поэтому, когда пользователь идет вперед, сохраняйте информацию в сеансе, а затем, когда он наносит ответный удар, загружают информацию из сеанса. Затем, когда они, наконец, будут уверены в этом, вы можете отправить его в БД.

3 голосов
/ 24 июня 2009

Вероятно, самый простой способ - сохранить данные в сеансе. Попросите, чтобы ваша форма ввода данных проверила сеанс, чтобы увидеть, есть ли данные, и если это так, предварительно заполните форму этими данными.

Когда они завершат процесс и данные будут сохранены в БД, удалите эти значения из сеанса.

3 голосов
/ 24 июня 2009

вы можете использовать код:

`session_cache_limiter('must-revalidate');`

Это хорошо работает для меня. Имейте в виду, что эта строка должна идти перед session_start (). В любом случае, это полезно для меня, потому что мне не нужно иметь дело со всеми переменными сеанса, которые идут с сеансами.

ИЛИ поместите данные формы в сеанс следующим образом: Код:

$_SESSION['myFormData'] = $_POST;
1 голос
/ 25 февраля 2011

Время от времени кто-то придумывает хорошее решение. Это то время.

Автономное хранилище HTML 5 теперь поддерживается во всех основных браузерах начиная с IE8. Имея это в виду, я решил раз и навсегда заняться состоянием формы, чтобы все языки сценариев и даже HTML-страницы могли сохранять состояние формы. Не требуются файлы cookie, не требуются перерывы в памяти, не требуется программирование на стороне сервера, и вы можете частично заполнить форму, перейти туда, куда вы хотите, на любой URL, вернуться, и форма там, где вы остановились. Просто оставьте небольшой скрипт, и все готово.

Вот это бесплатно -> http://www.jasonsebring.com/dumbFormState

Дайте мне знать, что вы думаете.

1 голос
/ 24 июня 2009

Используя куки и JavaScript, вы можете:

  1. сохранить все значения в куки при отправке формы
  2. используйте обработчик onload, чтобы проверить наличие cookie и заполнить форму данными, найденными в cookie

Не забудьте закодировать его так, чтобы пользователи без файлов cookie или JavaScript могли использовать страницу; они просто не получают заполненную форму для них.

0 голосов
/ 24 июня 2009

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

РЕДАКТИРОВАТЬ: Ах, да. Другое требование заключалось в том, что пользователь должен иметь возможность вернуться и завершить работу мастера через несколько недель или продолжить работу с мастером, если он существует для почтового адреса этого пользователя.

0 голосов
/ 24 июня 2009

На странице подтверждения вы можете разместить форму со скрытыми полями, которые содержат все значения, и кнопку Назад , которая отправит их на предыдущую страницу. В этой форме также может быть вторая кнопка отправки, которая будет публиковать URL-адрес, который будет записывать значения в базу данных.

0 голосов
/ 24 июня 2009

Использование сеансов . Они очень просты в использовании.

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