#php #javascript
#php #javascript
Вопрос:
Когда я пытаюсь перейти на последнюю посещенную страницу на моем веб-сайте в Mozilla, я получаю это сообщение «Чтобы отобразить эту страницу, Firefox должен отправить информацию, которая повторит любое действие (например, поиск или подтверждение заказа), которое было выполнено ранее». Кто-нибудь может сказать мне, как обойти это. Это так расстраивает. я использовал php на своем веб-сайте
Комментарии:
1. я не могу использовать метод use GET, у меня нет значений, которые должны отображаться в URL, а что касается заголовка местоположения, то это не значит, что страница перенаправляет сама себя, если пользователь нажимает пробел или ссылку «вернуться», присутствующую в браузере, тогда появляется это сообщение. Извините, если я не был конкретен.
2. Обратите внимание, что есть разница между действиями, которые не должны повторяться (например, платежи и подтверждения заказов), и действиями, которые должны (например, поиск). Действия, которые изменяют состояние сервера, должны быть действиями POST, это те, которые защищены этим всплывающим окном. Действия, которые просто ПОЛУЧАЮТ информацию, не вызывают предупреждение
Ответ №1:
Используйте метод Post-Redirect-Get.
Ответ №2:
ДА. Перенаправить пользователя на ту же страницу или на другую страницу, чтобы она больше не отображалась
header("Location: ".$_SERVER['PHP_SELF']);
Однако PHP_SELF
это опасно, пожалуйста, используйте текущее имя страницы вместо него.
Комментарии:
1. PHP_SELF опасен, пожалуйста, используйте текущее имя страницы вместо него.
Ответ №3:
Используйте method="get"
в своих формах, когда в этом нет необходимости "post"
. метод POST следует использовать для отправки конфиденциальных / огромного количества данных.
Или, если ваша форма не должна отображаться снова, перенаправьте страницу, используя Location
заголовок, после отправки формы POST.
Ответ №4:
После обработки запроса POST перенаправьте на другую страницу (используя GET
). Таким образом, браузер больше не будет запрашивать его. Обратите внимание, что ваше приложение должно поддерживать его.
header('Location: /your/page.php');
В качестве альтернативы, если POST
запрос не является необходимым, используйте method="get"
в своих <form>
элементах.