$_SERVER['HTTP_REFERER'];
Yönlendiren URL'yi almak için kullanıyorum . Kullanıcı başka bir sayfayı tıklayana ve yönlendiren son sayfaya geçene kadar beklendiği gibi çalışır.
Orijinal yönlendiren URL'yi nasıl saklayabilirim?
$_SERVER['HTTP_REFERER'];
Yönlendiren URL'yi almak için kullanıyorum . Kullanıcı başka bir sayfayı tıklayana ve yönlendiren son sayfaya geçene kadar beklendiği gibi çalışır.
Orijinal yönlendiren URL'yi nasıl saklayabilirim?
Yanıtlar:
Bunu bir çerezde (sizin durumunuz için uygunsa) veya bir oturum değişkeninde saklayın.
session_start();
if ( !isset( $_SESSION["origURL"] ) )
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];
http_referer
, genellikle olmadığı gibi, var olup olmadığını da kontrol etmeniz gerektiğini unutmayın , bu da "Tanımsız dizin" hatasına neden olabilir.
Johnathan'ın Önerdiği gibi, onu ya bir çerezde ya da bir oturumda kaydetmek istersiniz.
Daha kolay yol, bir Oturum değişkeni kullanmak olacaktır.
session_start();
if(!isset($_SESSION['org_referer']))
{
$_SESSION['org_referer'] = $_SERVER['HTTP_REFERER'];
}
Bunu sayfanın en üstüne koyun ve site ziyaretçisinin yönlendirdiği ilk yönlendirene her zaman erişebileceksiniz.
Çerezleri bir referans sayfası deposu olarak kullanmak çoğu durumda çok daha iyidir, çünkü çerezler tarayıcı kapanıncaya kadar yönlendireni tutacaktır (ve tarayıcı sekmesi kapalı olsa bile tutacaktır), bu nedenle kullanıcı sayfayı açık bıraktıysa diyelim hafta sonlarından önce ve birkaç gün sonra geri döndüyseniz, oturumunuz muhtemelen sona erecek, ancak çerezler hala orada olacak.
Bu kodu bir sayfanın başlangıcına koyun (herhangi bir html çıktısının önüne, çünkü tanımlama bilgileri yalnızca herhangi bir echo / print'den önce düzgün bir şekilde yerleştirilecektir):
if(!isset($_COOKIE['origin_ref']))
{
setcookie('origin_ref', $_SERVER['HTTP_REFERER']);
}
Daha sonra ona erişebilirsiniz:
$var = $_COOKIE['origin_ref'];
Ve @pcp'nin $ _SERVER ['HTTP_REFERER'] tanımlama bilgisinden kaçmak için önerdiklerine ek olarak, tanımlama bilgisi kullanırken, her istekte $ _COOKIE ['origin_ref'] 'den kaçmak isteyebilirsiniz.
bunu dene
(isset ($_SERVER['HTTP_CLIENT_IP']) ?
$_SERVER['HTTP_CLIENT_IP'] :
(isset ($_SERVER['HTTP_X_FORWARDED_FOR']) ?
$_SERVER['HTTP_X_FORWARDED_FOR'] :
$_SERVER['REMOTE_ADDR']
)
)
IP ADDRESS
ancak gönderi, REFERER
söz konusu kişiye yönlendiren web sayfasıyla ilgili.