Изучение нескольких способов получения имени предыдущей страницы в PHP

В PHP существуют различные методы получения имени предыдущей страницы. Если вам это нужно для навигации или для сбора информации о поведении пользователя в Интернете, в этой статье будут рассмотрены несколько подходов к выполнению этой задачи. Итак, давайте углубимся и изучим эти методы!

Метод 1: использование переменной HTTP_REFERER
Переменная HTTP_REFERER содержит URL-адрес предыдущей страницы, с которой пользователь перешел на текущую страницу. Чтобы получить имя предыдущей страницы, вы можете использовать суперглобальную переменную $_SERVER в PHP следующим образом:

$previousPage = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Unknown';
echo "Previous Page: " . $previousPage;

Метод 2: использование JavaScript и файлов cookie.
Другой подход предполагает использование JavaScript для сохранения имени предыдущей страницы в файле cookie. Позже вы сможете получить доступ к значению cookie в PHP. Вот пример:

Код JavaScript (размещается на предыдущей странице):

document.cookie = "previousPage=" + document.title;

Код PHP (на текущей странице):

$previousPage = isset($_COOKIE['previousPage']) ? $_COOKIE['previousPage'] : 'Unknown';
echo "Previous Page: " . $previousPage;

Метод 3: использование сеансов
Сеансы PHP предоставляют способ хранения и извлечения данных между запросами страниц. Вы можете сохранить имя предыдущей страницы в переменной сеанса и получить к нему доступ на последующих страницах. Вот пример:

Код PHP (на предыдущей странице):

session_start();
$_SESSION['previousPage'] = "Previous Page Name";

Код PHP (на текущей странице):

session_start();
$previousPage = isset($_SESSION['previousPage']) ? $_SESSION['previousPage'] : 'Unknown';
echo "Previous Page: " . $previousPage;

Метод 4: извлечение из URL-адреса HTTP_REFERER
Если вам нужно только имя страницы из URL-адреса HTTP_REFERER, а не весь URL-адрес, вы можете использовать функцию PHP parse_url вместе с базовым именем для его извлечения. Вот пример:

$previousPageUrl = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Unknown';
$previousPageName = basename(parse_url($previousPageUrl, PHP_URL_PATH));
echo "Previous Page: " . $previousPageName;

В этой статье мы рассмотрели несколько методов получения имени предыдущей страницы в PHP. Мы рассмотрели использование переменной HTTP_REFERER, JavaScript и файлов cookie, сеансов PHP и извлечение из URL-адреса HTTP_REFERER. Каждый метод имеет свои преимущества и может подойти для разных сценариев. Используя эти методы, вы можете расширить свои PHP-приложения ценной информацией о навигации пользователя.