почему при вызове header ('Location: 2.php'); в файл 2.php не передается реферер? как я понял реферер передается только при клике по ссылке?
Не только, скорее почти всегда передается, но редирект это особый случай. Вроде как при редиректе referer указывает на предыдущую страницу, не? A → B (301) → C С увидит в реферере A.
На него нельзя полагаться как на гарантированную вещь, но использовать как подсказку вполне можно. С fallback вариантом на случай если его нет --- Добавлено --- Для любознательных я сговнякал пример, показывающий что именно будет в реферере после редиректа A содержит фрейм B, а тот редиректит на C. Попробуйте указать каждую из страниц A, B и C в адресной строке. https: // dl.dropboxusercontent.com/u/11837706/referrer.zip (убрать пробелы)
если он хочет допустим редиректнуть на реферера однажды, то такой функционал может быть использован во всяких гадких сценариях... если он хочет от реферера принять решение о чем-то, то уже не может его использовать. Куда ни кинь - всюду клин.
Ты категоричен как подросток. Сценарий "Принять решение" может учитывать нулевой вариант. Какие именно гадкие сценарии ты имееш в виду? Делись.