में कोई PHPSESSID नहीं है, मुझे अपने PHP/Ajax ऑनलाइन शॉपिंग कार्ट पर SESSION चर के साथ कुछ अजीब समस्याएं आ रही हैं।
जब मैं पहली बार पृष्ठ देखता हूं, तो सत्र बनाया जाता है और पृष्ठ के भीतर काम करता है। फिर जब मैं एक ही निर्देशिका में किसी अन्य PHP पृष्ठ पर नेविगेट करता हूं तो सत्र पूरी तरह से खो जाता है। अजीब बात यह है कि यह केवल होता है। एक बार जब उपयोगकर्ता पृष्ठ बदलने पर अपने सत्र को पूरी तरह से खोने की इस प्रक्रिया के माध्यम से जाता है, तो सत्र पूरे कार्ट में पूरी तरह से काम करता है।
मैंने प्रत्येक पृष्ठ दृश्य पर $ _SESSION और $ _SERVER डेटा दोनों के var_exports को मेल करना शुरू कर दिया। ऐसा लगता है कि जब कोई पृष्ठ पहली बार देखा जाता है, तो सत्र मौजूद होता है और इसमें डेटा होता है। हालांकि $ _SERVER ['HTTP_COOKIE'] चर में उत्पन्न कोई PHPSESSID नहीं है। किसी अन्य पृष्ठ पर नेविगेट करने पर, PHPSESSID बनाया जाता है और सत्र काम करना शुरू कर देगा, लेकिन पहले पृष्ठ दृश्य का प्रारंभिक सत्र डेटा खो गया है।
क्या कोई व्यक्ति PHESSESSID उत्पन्न करने का कोई तरीका है यदि कोई सत्र के लिए अभी तक उत्पन्न नहीं हुआ है? या यह सामान्य व्यवहार है और मेरे यादृच्छिक सत्र हानि की समस्या के लिए अप्रासंगिक है? मैं PHP 5.2 का उपयोग कर रहा हूँ।
गाड़ी का हर पृष्ठ में ठीक उसी तरह से शुरू होता है:
$title="Title";
$keywords="keywords";
$description="description";
@include('../header_cart.php');
और फिर header_cart.php के शीर्ष पर है:
session_start();
if(!isset($_SESSION['active'])){
$_SESSION['active']=$_SERVER['REMOTE_ADDR'];
}
मज़ा सभी प्रकार के पढ़ने [यहां] (http://php.net/manual/en/function.session-id.php)। मुझे नहीं पता कि आपने पहले से ही चेक आउट किया है या नहीं। क्या आप सुनिश्चित हैं कि आपका 'session_start() 'आपकी पहली कॉल पर विफल नहीं हो रहा है? – afuzzyllama
कार्ट में प्रत्येक पृष्ठ एक ही हेडर फ़ाइल का उपयोग करता है, इसलिए मुझे नहीं लगता कि यह है। शायद session_regenerate_id() का उपयोग कर यदि PHPSESSID सेट नहीं है तो मदद कर सकता है। – unsunghero
लेकिन फिर आप अपनी कार्ट जानकारी खो सकते हैं क्योंकि सत्र बदलता है? =/ – afuzzyllama