Справка по основной форме PHP - название реферера - PullRequest
1 голос
/ 10 января 2009

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

   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>

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

Ответы [ 3 ]

2 голосов
/ 10 января 2009

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

2 голосов
/ 10 января 2009

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

<?php

  $_Session["referrerTitle"] = $pageTitle;

 ?>

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

Тогда по вашей ссылке:

<p>   thanks for coming <a href="<?= $_SERVER['HTTP_REFERER']"?>here's a link back to <?= $_Session["referrerTitle"] ?></a></p>
0 голосов
/ 10 января 2009

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

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

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

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

...