Вернуться к предыдущей странице с заголовком ("Location:"; в PHP



название этого вопроса отчасти объясняет мой вопрос. Как перенаправить посетителя PHP-страницы обратно на предыдущую страницу с помощью header( "Location: URL of previous page" );

672   6  

6 ответов:

попробуй:

header('Location: ' . $_SERVER['HTTP_REFERER']);

обратите внимание, что это может не работать с защищенными страницами (HTTPS), и это довольно плохая идея в целом, поскольку заголовок может быть захвачен, отправив пользователя в другое место назначения. Заголовок может даже не быть отправлен браузером.

в идеале, вы хотите, чтобы либо:

  • добавить обратный адрес к запросу в качестве переменной запроса (например. ?назад= / список)
  • определите возвращаемую страницу в коде (т. е. все успешные формы представления перенаправление на страницу листинга)
  • предоставить пользователю возможность, где они хотят идти дальше (например. Сохранить и продолжить редактирование или просто сохранить)

его так просто использовать

header("location:javascript://history.go(-1)");

его работает нормально для меня

вы должны сохранить это место как-то.

скажем, что это форма сообщения, просто поместите текущее местоположение в скрытое поле, а затем используйте его в header() расположение.

просто небольшое дополнение: Я считаю, что это распространенная и известная вещь, чтобы добавить exit; после функции заголовка в случае, если мы не хотим, чтобы остальной код, чтобы загрузить и выполнить...

header('Location: ' . $_SERVER['HTTP_REFERER']);
exit;

просто попробуйте это в Javascript:

 $previous = "javascript:history.go(-1)";

или вы можете попробовать его в PHP:

if(isset($_SERVER['HTTP_REFERER'])) {
    $previous = $_SERVER['HTTP_REFERER'];
}

сохранение предыдущего url в переменной сеанса плохо, потому что пользователь может щелкнуть правой кнопкой мыши на нескольких страницах, а затем вернуться и сохранить.

Если вы не сохраните предыдущий url в переменной сеанса в скрытое поле в форме и после сохранения заголовка ("Location: save URL of calling page");

Comments

    Ничего не найдено.