मैं एक एनालिटिक्स स्क्रिप्ट, जिन्हें लोग आगंतुक डेटा ट्रैक करने में अपने पेज में जोड़ने के लिए सक्षम हो जाएगा के विकास कर रहा हूँ। जिन मुद्दों पर मैं आया हूं उनमें से एक व्यक्ति व्यक्तिगत सत्रों को ट्रैक करने का एक तरीका तैयार कर रहा है जब वे किसी निजी पृष्ठ से किसी के पृष्ठ को देख रहे हैं (आईई गुप्त)।याद पीएचपी सत्र निजी ब्राउजिंग
यह वह स्क्रिप्ट है जिसका उपयोग मैं यह देखने के लिए कर रहा हूं कि कोई व्यक्ति 30 मिनट से अधिक समय तक सक्रिय है या नहीं, अगर उनके पास कोई नया सत्र बनाया जाएगा, तो नहीं, तो वे अपने पिछले सत्र को फिर से शुरू करेंगे ।
session_start();
$max_time = 1800;
$current = time();
if (!isset ($_SESSION['Stationary'])){
$_SESSION['Stationary'] = time();
$session = $_SESSION['Stationary'];
}
if (!isset ($_SESSION['Inactive'])) {
$_SESSION['Inactive'] = time();
} else {
$session_life = $current - $_SESSION['Inactive'] ;
if ($session_life > $max_time) {
session_destroy();
session_start();
$_SESSION['Inactive'] = time();
$_SESSION['Stationary'] = time();
$session = $_SESSION['Stationary'];
} else {
$_SESSION['Inactive'] = time();
$session = $_SESSION['Stationary'];
}
}
यह स्क्रिप्ट दोषरहित काम करता है जब कोई उपयोगकर्ता एक नियमित ब्राउज़र (आईई। क्रोम गुप्त) से मेरा पृष्ठ देखता है, लेकिन जब वे एक iPhone की तरह कुछ पर देख, निजी ब्राउजिंग में, हर बार वे एक नया पृष्ठ का उपयोग , एक नया सत्र प्रस्तुत किया जाता है - एक समस्या जो मेरे पास अन्यथा देखी गई नहीं है।
तो मेरा सवाल यह है कि, मुझे पता है कि एक निजी ब्राउज़र में पृष्ठों को अस्थायी कैशिंग के माध्यम से प्राप्त किया जाता है जिसे ब्राउजर बंद होने के बाद साफ़ किया जाता है, हालांकि यह क्यों है कि ब्राउजर बंद नहीं होने पर भी, लिंक पृष्ठ पर एक ही स्क्रिप्ट के साथ, किसी अन्य पृष्ठ पर लिंक होने पर भी उनके पिछले सत्र को नष्ट कर देता है?
वहाँ इस के लिए एक समाधान है?
संपादित करें: मैं नोट करना चाहिए कि इस स्क्रिप्ट हेडर application/json
के साथ एक php फ़ाइल में रखा जा रहा है एक जावास्क्रिप्ट के साथ-साथ फ़ाइल के रूप में प्रयोग की जाने वाली।
बीटीडब्ल्यू, आप 'सत्र.gc_maxlifetime' के माध्यम से अपने सत्र के जीवनकाल को कॉन्फ़िगर कर सकते हैं। –
मेरा वेबहोस्ट दुर्भाग्य से php कॉन्फ़िगरेशन फ़ाइल को प्रबंधित करने की अनुमति नहीं देता है, @ Ja͢ck – Brad
आप इसे 'ini_set() '(PHP_INI_ALL के कारण) के साथ सेट कर सकते हैं, इसलिए वहां कोई समस्या नहीं होनी चाहिए। –