Как я могу сделать ссылку «назад» на страницах PHP?

Как я могу ссылаться на предыдущую страницу, которая была посещена с помощью PHP?

Solutions Collecting From Web of "Как я могу сделать ссылку «назад» на страницах PHP?"

Существует несколько способов сделать это:

1) Использовать историю браузера – это чистый вариант HTML:

<a href='javascript:history.back(1);'>Back</a> 

2) Используйте HTTP-заголовок Referer , который обычно содержит URL-адрес, который ссылается на текущий запрос:

 $link = $_SERVER['HTTP_REFERER']; 

3) Используйте некоторый серверный механизм, который отслеживает пройденные страницы и заполняет атрибут «href» в «обратной» ссылке соответственно. Обычно это может быть полезно в волшебниках; в других случаях накладные расходы могут быть слишком высокими. Кроме того, вы должны тщательно обрабатывать ситуацию, когда пользователь открывает веб-сайт на нескольких вкладках браузера.

ОБНОВИТЬ

4) Создайте конкретные ссылки «Назад» на основе иерархии отношений страниц. См. Ответ от Матти Вирккунен за подробностями. Фактически, это самый эффективный способ навигации по страницам с «иерархическими» отношениями («просмотр списка элементов», «раздел> подраздел», «просмотр объектов» и «вложенные объекты» и т. Д.).

Вы очень редко хотите иметь свою обратную ссылку на основе истории браузера, заголовков или сессий реферера. Для этого используется кнопка возврата браузера.

Обратные ссылки являются наиболее полезными, когда пользователь пришел извне вашего сайта, например, из поисковой системы, и они хотели бы получить страницу, которая «одна обратно» в вашей иерархии страниц. Это может быть предыдущая страница, верхний уровень в дереве и т. Д. Очевидно, что когда пользователь пришел извне вашего веб-сайта, браузерные истории kludges или перехватчики заголовков не будут работать. Единственный способ создать правильную обратную связь – понять иерархию вашей страницы и создать правильную ссылку для каждого представления в коде.

Вот небольшой пример того, как вы можете его реализовать:

 if(isset($_SERVER['HTTP_REFERER'])) { echo "<a href=".$_SERVER['HTTP_REFERER'].">Go back</a>"; } 

Единственный способ, с помощью которого вы можете догадаться, откуда пришел пользователь, заключается в том, отправили ли вы заголовок Referrer или нет, когда они запросили вашу PHP-страницу. Содержимое этого заголовка сохраняется в переменной $_SERVER['HTTP_REFERRER'] .

Таким образом, вы можете написать, например, это

<a href="<?=$_SERVER['HTTP_REFERRER']?>">Back to whence you came</a>

Не знаю, что это связано с SQL, хотя

Вам даже не нужен PHP.

 <a href="javascript://" onclick="history.back();">Back</a> 

Использование history.back() или $_SERVER['HTTP_referer'] не лучший способ. Проблема заключается в том, что пользователь приходит на ваш сайт с прямой ссылки, google (или etc search engine), другого сайта или подобного трафика. Затем это решение возвращает пользователя на предыдущую страницу, вне вашего сайта.

Используйте $ _SERVER ['HTTP_REFERER']

 $page_referrer=$_SERVER['HTTP_referer']; 

Используйте ссылку $ page_referrer как ссылку на предыдущую страницу! Предупреждение: не делайте этого на домашней странице!