2010-08-28 2 views
4

У меня есть сайт для объявлений, а при публикации новых пользователей заполняйте форму, находящуюся вне контекста. Затем они нажимают кнопку «Отправить», и появляется страница «проверить», которая отображает то, что они заполнили, и, если она выглядит хорошо, пользователи нажимают кнопку «ok», а классифицированная публикуется.Ошибка «Предупреждение: страница истекла» в IE при нажатии кнопки «Назад»

Вот краткий пример:

<form action="verify.php" name="main_form" etc 

Тогда из verify.php, если объявление выглядит хорошо, они попали в порядке, и он будет размещен. Однако здесь у них есть возможность щелкнуть «назад», чтобы что-то изменить, и в этом моя проблема.

Теперь, в нижней части main_form, у меня есть инструмент для загрузки файлов, который обновляет страницу для каждая загрузка. Это и вызывает проблему. Тем не менее, мне уже слишком поздно менять его на неаккуратную загрузку файлов (например, ajax).

В любом случае проблема заключается в том, что если пользователь загрузил файл и отправил страницу, откроется страница подтверждения. Поэтому отсюда кнопка «Назад» отображает только «Предупреждение: страница истекло» вместо того, чтобы показывать форму с загруженными изображениями.

Однако пользователи могут нажать F5 (обновить), чтобы обновить браузер, и форма появится снова, как было, но это нехорошее решение.

Как это исправить?

И как другие браузеры не имеют этой проблемы, они действительно возвращаются и отображают полную форму с изображениями?

Кроме того, в случае, если изображения не загружены, кнопка обратной связи отлично работает в IE.

Если вам нужно больше ввода, дайте мне знать ...

BTW; НЕ ИСПРАВЛЕНО В IE8.

+0

Пожалуйста, отобразите код для загрузки этого файла. –

ответ

4

см: Chris Shiflett: How to Avoid "Page Has Expired" Warnings:

Recap

Чтобы избежать «Page Истек» предупреждение, установите session.cache_limiter частные, и убедитесь, что какая-либо форма с использованием методы POST представляет промежуточную обработку страницу, которая перенаправляет пользователя на другой URL-адрес.

1

Просто не используйте verify.php, но сделайте все на одной странице.
http://en.wikipedia.org/wiki/Post/Redirect/Get

+0

Не будет ли отображаться предупреждение, даже если оно находится на одной странице? Я имею в виду, что страница по-прежнему отправляется сама по себе, и, возвращаясь, вероятно, снова появится предупреждающее сообщение ... – 2010-08-28 10:57:38

+0

@Camran, если вы сделаете перенаправление после успешной публикации (как и должно быть) - нет –

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