Как я могу ссылаться на предыдущую страницу, которая была посещена с помощью PHP?Как я могу сделать ссылку «назад» на страницах PHP?
ответ
Использование $ _SERVER [ 'HTTP_REFERER']
$page_referrer=$_SERVER['HTTP_referer'];
Использование $ page_referrer в качестве ссылки на предыдущую страницу! Предупреждение: не делайте этого на домашней странице!
'$ _SERVER ['HTTP_REFERER']' это то, что вы намеревались написать –
Да, спасибо за опечатку! – keatch
Единственный способ, которым вы можете догадаться, откуда пришел пользователь, - это то, что они отправили вам заголовок Referrer или нет, когда они запросили вашу страницу PHP. Содержимое этого заголовка сохраняется в переменной $_SERVER['HTTP_REFERRER']
.
Таким образом, вы могли бы, например, написать это
<a href="<?=$_SERVER['HTTP_REFERRER']?>">Back to whence you came</a>
ли на самом деле не знаю, что это имеет отношение к SQL, хотя
Вот небольшой пример того, как можно реализовать это:
if(isset($_SERVER['HTTP_REFERER'])) {
echo "<a href=".$_SERVER['HTTP_REFERER'].">Go back</a>";
}
а что, если он не установлен? –
Он не будет писать никаких ссылок, так как информация недоступна (например: вы открываете браузер непосредственно на этой странице). Вы можете вставить «else» и сообщить об этом пользователю, если это необходимо. – Danilo
Самый лучший и простой способ создания обратных ссылок, основанных на истории, для добавления на основе иерархии пакетиков esp на сайтах электронной коммерции –
Есть несколько способов сделать это:
1) Использование история браузера - это чистый HTML-вариант:
<a href='javascript:history.back(1);'>Back</a>
2) Используйте Referer HTTP header, который обычно содержит URL-адрес, который называется текущим запрос:
$link = $_SERVER['HTTP_REFERER'];
3) Использование некоторых поддерживаемого сервера который отслеживает пройденные страницы и заполняет атрибут «href» в «обратной» ссылке соответственно. Обычно это может быть полезно в волшебниках; в других случаях накладные расходы могут быть слишком высокими. Кроме того, вы должны тщательно обрабатывать ситуацию, когда пользователь открывает веб-сайт на нескольких вкладках браузера.
UPDATE
4) Построить конкретный "Назад" ссылки, основанные на иерархии страниц отношений. См. Ответ от Матти Вирккунен за подробностями. Фактически, это самый эффективный способ навигации по страницам с «иерархическими» отношениями («просмотр списка элементов», «раздел> подраздел», «просмотр объектов» и «вложенные объекты» и т. Д.).
Извините, но за все время, когда я попал на страницу, которая делает что-то подобное из Результат Google. –
@Matti Virkkunen - спасибо, абсолютно правильный комментарий. Обновленный ответ. – Kel
Один вопрос: что такое точка с запятой в первом примере? Мне интересно, если я что-то пропустил в отношении HTML. –
Вам даже не нужен PHP.
<a href="javascript://" onclick="history.back();">Back</a>
Вы очень редко захотите иметь обратную ссылку на основе истории браузера, заголовков или сеансов реферера. Для этого используется кнопка возврата браузера.
Обратные ссылки являются наиболее полезными, когда пользователь пришел от за пределами вашего сайта, например, из поисковой системы, и они хотели бы получить страницу, которая «одна обратно» в вашей иерархии страниц. Это может быть предыдущая страница, верхний уровень в дереве и т. Д. Очевидно, что когда пользователь пришел извне вашего веб-сайта, браузерные истории kludges или перехватчики заголовков не будут работать. Единственный способ создать правильную обратную связь - понять иерархию вашей страницы и создать правильную ссылку для каждого представления в коде.
Использование history.back()
или $_SERVER['HTTP_referer']
не лучший способ. Проблема заключается в том, что пользователь приходит на ваш сайт с прямой ссылки, google (или etc search engine), другого сайта или подобного трафика. Затем это решение возвращает пользователя на предыдущую страницу, вне вашего сайта.
- 1. Как я могу сделать ссылку на ссылку в html?
- 2. Как я могу сделать ссылку на действие?
- 3. Как сделать ссылку HTML назад?
- 4. Как я могу сделать это на веб-страницах ASP.NET?
- 5. Как я могу сделать данные localStorage постоянными на разных страницах?
- 6. Как я могу сделать эту ссылку php _blank?
- 7. Как я могу сделать «заварить ссылку рыбу»
- 8. Как я могу сделать кнопку «вернуться назад» на Java?
- 9. Как я могу изменить livejs для работы на PHP-страницах?
- 10. Как использовать/ссылку «esc» на веб-страницах?
- 11. Как я могу зашифровать переменную PHP (ссылку)?
- 12. Как я могу сделать ссылку перенаправлением на сервлет?
- 13. хотите изменить img на ссылку, как я могу это сделать?
- 14. Как я могу сделать ссылку на значение размером другой таблицы?
- 15. Как я могу сделать разыменование указателя, удерживающего ссылку на объект?
- 16. Как я могу сделать ссылку на поток из потока? (C++)
- 17. рельсы: как я могу сделать полиморфную ссылку на определенное действие
- 18. Как я могу сделать ссылку всплывающей подсказки на другой странице?
- 19. Сделать относительную ссылку абсолютной в javascript/php
- 20. Как я могу создать расширенную ссылку PHP?
- 21. PHP, как сделать URL ссылку на просмотре
- 22. Могу ли я использовать тему wordpress на новых php-страницах?
- 23. Как получить ссылку только на некоторых страницах
- 24. Как я могу сделать ссылку на загрузку случайного имени php на странице?
- 25. Как я могу выполнить ссылку на PHP страницу
- 26. Как я могу вернуться назад?
- 27. Как я могу поймать событие кнопки «Назад»?
- 28. Как я могу сделать тег как веб-ссылку box.net
- 29. В Ruby я могу сделать ссылку на смещение массива?
- 30. Как я могу повернуть назад?
отслеживать каждую посещаемую страницу в переменной сеанса –
@ Шахи, это обычная ошибка, которую совершают большинство noobs. –