SimBioT19
@SimBioT19
{{ user.about }}

Как решить проблему после отправки POST?

Всем знакомо сообщение
Чтобы отобразить эту страницу, Firefox Developer Edition
должен отправить информацию, которая повторит любое ранее произведённое действие 
(например, запрос на поиск или онлайн-покупка).

Знаю, что после отправки POST нужно перенаправить пользователя на другую страницу, но такой вариант не подходит в моём случае: в шапке сайта есть вход в аккаунт и после того как человек авторизировался я не могу просто перекинуть его на другую страницу, не поймут, — вошёл на одной странице, оказался на другой. Как вы решаете данную проблему?
UPDATE
Спасибо за ответы, сделал header('Location:#');
  • Вопрос задан
  • 1093 просмотра
Пригласить эксперта
Ответы на вопрос 4
Можно направить пользователя на туже самую странницу.
После обработки отправленной формы в php скрипте прописываете header location той же стр с которой происходила отправка. После этого повторной отправки формы не произойдет
Ответ написан
Комментировать
Когда я вхожу в аккаунт я и рассчитываю оказаться на другой странице! Редирект делаете либо на саму себя либо на нужную и всё.
Ответ написан
Комментировать
Использовать ajax чтобы избежать перезагрузки страницы api.jquery.com/jquery.ajax
Ответ написан
copist
@copist
Empower people to give
Если надо остаться на той же странице
<?php
if (/* login success */) {
   header("HTTP/1.1 205 Reset Сontent");
}

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

Если надо перейти на другую страницу, но чтобы не появлялось "Чтобы отобразить эту страницу, XXX должен отправить информацию..." когда он в браузере кнопку "Вернуться" нажмёт
<?php
if (/* login success */) {
   header( 'Location: /* new location*/', true, 205);
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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