bir websayfasında bir linke tıklandıgında gidilen sayfada hangi sayfadan gelindigi ceşitli dillerde rahatlıkla alınıyor.
benim şöyle bir ihtiyacım var:
php ile geliştirdigim bir projede,
header("Location: somewhere.php"); ile gittigim bir sayfada php ile referer bilgisini alınmıyor. ben bu referer bilgisini almam için o sayfaya nasıl gidebilirim? linke tıklanarak gitme opsiyonu dısında :)

 

o referrer browserdan gelen bişey olduğu için yönlendirmeyi headerla değil javascriptle (window.location) yapsan? yani linke tıklanmış gibi yapar bu.

ama javascript disable olabilir bu yüzden bence en sağlamı;

header("Location: somewhere.php"); satırındadan önce
$_SESSION['oncekisayfa']='bulunulansayfa.php'; gibi bişey deyip somewhere'e gitmeden önce bulunduğun sayfayı session'la tutup;
somewhere.php'de ise $oncekisayfa=$_SESSION['oncekisayfa']; diye kullanabilirsin.

stopnsilence

302 yerine 301 status code ile yonlendirmen lazim, ya da tam tersi. header fonksiyonunun ayrintilarina bak.

bi de 2 sayfadan en az birinin protokolu https ise referer paslanip paslanmamasi belli sartlara bagli olabilir (hic paslanmiyor olabilir)

edit: 301 ile yonlendirdigin zaman senin ilk sayfaya gonderilen referer gonderiliyormus sanirim, hizli bir arastirma yaptim o cikti. 0 saniyeli bir meta refresh dene o zaman? en.wikipedia.org

disq
1

mobil görünümden çık