Кнопка "Назад" повторно отправляет данные формы ($ _POST)

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

Пример:

  • page1: форма отправила с поиском criterias ($ _POST запрос, форма указывает на page2),
  • page2: Получает $ _POST запрос и выставочный результат (список пользователя со ссылками, точками к page3)
  • page3: Покажите профиль пользователя

Теперь, когда посетитель нажимает кнопку "Назад" в браузере, это покажет, что что-то как "Страница истекло".

Вместо этого предыдущую страницу нужно показать без предупреждений (page2 с userlist)

Как Ваши стратегии состоят в том, чтобы обойти это поведение?

19
задан Cudos 27 January 2010 в 11:48
поделиться

4 ответа

Если вы отправляете А для параметров поиска вы пытаетесь получить Некоторые данные, а не изменять некоторые.

Итак, вы должны использовать метод Get HTTP, а не сообщение: Post следует использовать, когда вы собираетесь создавать / изменять данные, и получить получение, когда вы собираетесь использовать некоторые данные.


Или, если у вас есть некоторая операция Create / Modify, которая должна быть сделана:

  • Форма первых сообщений на первую страницу
    • Эта страница выполняет некоторые операции (например, написание чего-либо в базе данных)
    • , а затем перенаправляет на другую страницу, используя местоположение HTTP-заголовок.
  • Это эта последняя страница, это запросы браузера, используя запросы на получение, что отображает данные, полученные из параметров, полученных в URL.

См. Сообщение Post / Redirect / Get на Wikipedia, об этом.

23
ответ дан 30 November 2019 в 03:20
поделиться

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

1
ответ дан 30 November 2019 в 03:20
поделиться
14
ответ дан 30 November 2019 в 03:20
поделиться

Не используйте сообщение для поиска. Поиск может быть благополучно сделать с Get, поскольку он ничего не изменит.

1
ответ дан 30 November 2019 в 03:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: