PHP के साथ मूल यूआरएल रेफरर प्राप्त करें?




http-referer (4)

मैं $_SERVER['HTTP_REFERER']; का उपयोग कर रहा हूं $_SERVER['HTTP_REFERER']; रेफरर यूआरएल प्राप्त करने के लिए। यह तब तक काम करता है जब तक उपयोगकर्ता दूसरे पृष्ठ पर क्लिक नहीं करता है और रेफरर अंतिम पृष्ठ में बदल जाता है।

मैं मूल रेफरिंग यूआरएल कैसे स्टोर करूं?


संदर्भ पृष्ठ के भंडार के रूप में कुकी का उपयोग अधिकांश मामलों में बहुत बेहतर है, क्योंकि ब्राउज़र बंद होने तक कुकीज़ को संदर्भित रखेगा (और ब्राउज़र टैब बंद होने पर भी इसे बनाए रखेगा), इसलिए यदि उपयोगकर्ता पृष्ठ को खुला छोड़ देता है, तो मान लें सप्ताहांत से पहले, और कुछ दिनों के बाद इसमें लौट आया, आपका सत्र शायद समाप्त हो जाएगा, लेकिन कुकीज़ अभी भी वहां होगी।

उस कोड को किसी पृष्ठ की शुरुआत में रखें (किसी भी HTML आउटपुट से पहले, कुकीज़ को किसी भी गूंज / प्रिंट से ठीक पहले सेट किया जाएगा):

if(!isset($_COOKIE['origin_ref']))
{
    setcookie('origin_ref', $_SERVER['HTTP_REFERER']);
}

फिर आप इसे बाद में एक्सेस कर सकते हैं:

$var = $_COOKIE['origin_ref'];

और कुकी का उपयोग करते समय, @pcp $ _SERVER ['HTTP_REFERER'] से बचने के बारे में सुझाव देने के अलावा, आप प्रत्येक अनुरोध पर $ _COOKIE ['origin_ref'] से बचना भी चाह सकते हैं।


जैसा कि जॉनथन ने सुझाव दिया था, आप या तो इसे कुकी या सत्र में सहेजना चाहते हैं।

एक सत्र चर का उपयोग करना आसान तरीका होगा।

session_start();
if(!isset($_SESSION['org_referer']))
{
    $_SESSION['org_referer'] = $_SERVER['HTTP_REFERER'];
}

इसे पृष्ठ के शीर्ष पर रखें, और आप हमेशा पहले रेफरर तक पहुंच पाएंगे जिस पर साइट विज़िटर द्वारा निर्देशित किया गया था।


इसे एक कुकी में स्टोर करें जो केवल वर्तमान ब्राउज़िंग सत्र के लिए रहता है


इसे या तो कुकी में स्टोर करें (यदि यह आपकी स्थिति के लिए स्वीकार्य है), या सत्र चर में।

session_start();

if ( !isset( $_SESSION["origURL"] ) )
    $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];






http-referer