Вопрос

Теперь я настроил его так, что когда люди переходят на страницу "спасибо" после заполнения формы, они переходят на страницу с надписью:

   thanks for coming <a href="<?php echo $_SERVER['HTTP_REFERER'] ?>here's a link back to where you came from</a>

Чего я хочу, так это чтобы он сказал:

   thanks for coming <a href="<?php echo $_SERVER['HTTP_REFERER'] ?>here's a link back to <?php echo TITLE OF REFERRING PAGE ?></a>

Есть ли простой способ сделать это?

Это было полезно?

Решение

Самый простой способ - передать заголовок страницы в качестве переменной сеанса:

<?php

  $_Session["referrerTitle"] = $pageTitle;

 ?>

Если вы работаете с заголовочным файлом include, возможно, эта переменная уже установлена на ссылающейся странице.

Затем по вашей ссылке:

<p>   thanks for coming <a href="<?= $_SERVER['HTTP_REFERER']"?>here's a link back to <?= $_Session["referrerTitle"] ?></a></p>

Другие советы

Поместите в форму ввод скрытого типа с заголовком страницы в качестве значения. Затем используйте предоставленное скрытое значение.

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

Затем на странице благодарности вы можете прочитать файл cookie, предоставленный HTTP-запросом, и вставить его в HTML-код.

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

Оба решения используют браузер пользователя, поддерживающий файлы cookie.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top