Помимо всего того, что было сказано о http-реферерах, которые можно перехватить, анонимных прокси-серверах и так далее, использование HTTP_REFERER не является хорошим стандартом программирования.
Вместо этого, если у вас есть, например:
http://www.example.com/application/client.php
Где пользователи могут нажать на
http://www.example.com/application/report_problem.php
Просто передайте строку "...client.php" в обработчик проблемы отчета "...report_problem.php", который вы создадите.
Легко передать ссылку «исходной» страницы на «report_problem» и сделать это следующим образом:
<?php
// pages where you will append the "problem link"
// $this_page holds an "url encoded" version of the request uri ( e.g. /application/client.php )
$this_page = rawurlencode ( $_SERVER["REQUEST_URI"] );
?>
<a href="report_problem.php?originating_page=<?=$this_page;?>">Report problem</a>
Затем в коде «report_problem.php»:
<?php
// report_problem.php
$originating_page = ( array_key_exists ( 'originating_page', $_GET ) && ! empty ( $_GET['originating_page'] ) ? rawurldecode ( $_GET['originating_page'] ) : null;
if ( ! empty ( $originating_page ) ) {
$message = 'Error report: <p>Last site visited: ' . $originating_page . '</p>....';
mail("[email protected]", "Subject", $message);
}
else mail("[email protected]", "Subject", "Problem from unkown page");
?>
person
Maurizio
schedule
01.04.2014
http://example.com/problem.php?url=http://example.com/page_you_are_on.php
- person Marc B   schedule 07.10.2012