PHP Session lost half way through buying process -
सेट अप
मेरे पास खरीदारी प्रक्रिया है जो निम्न है चरणों:
- ग्राहक <
- आदेश
परिणाम पृष्ठ हमारे ऑर्डर डेटाबेस तालिका से एक आईडी के साथ एक सत्र चर सेट करता है प्रत्येक पृष्ठ अगले एक को पोस्ट करता है ग्राहक और भुगतान दोनों की शुरूआत आईडी संख्या सत्र चर की मौजूदगी की जांच करें।
जैसा कि आप कल्पना कर सकते हैं, डिफ़ॉल्ट कुकी के 99% ब्राउज़र सेटिंग्स इन सत्रों वार्स की स्थापना और उन्हें पढ़ने के साथ कोई समस्या नहीं है।
जब भी उस सत्र var चेक रिक्त के रूप में वापस आता है मुझे एक चेतावनी मिल इन त्रुटियों के अधिकांश ग्राहक और भुगतान पृष्ठ पर सीधी हिट लगते हैं, इसलिए बीओटीएस या बुकमार्क हिट जो सभी समझ में आता है।
कभी-कभी हम ग्राहक पृष्ठ से अलर्ट प्राप्त करते हैं, संदर्भ वाले यूआरएल के साथ परिणाम कह रहे हैं कि सत्र रिक्त था और ऐसा लगता है कि जिस कुकी को अक्षम किया गया है फिर, यह उचित है और उपयोगकर्ता को कुकीज़ स्वीकार करने के लिए।
समस्या
हमें ग्राहकों से प्रति सप्ताह कुछ अलर्ट मिल रहे हैं खाली क्रम आईडी सत्र var है, लेकिन भुगतान पृष्ठ पर ( ग्राहक के रूप में संदर्भित URL के साथ)। इसलिए वे सफलतापूर्वक ऑर्डर आईडी var अस्तित्व में रखते हुए ग्राहक चरण को पार करते हैं। लेकिन जब मैं अपनी व्यक्तिगत जानकारी सबमिट करने के बाद भुगतान पृष्ठ पर इसकी जांच करता हूं - चला गया !
यह मेरे लिए कोई मतलब नहीं है यह कैसे पिछले पृष्ठ पर ठीक हो सकता है, लेकिन अगले पर नहीं? डोमेन एक ही रहता है, सभी यूआरएलएस HTTPS पर हैं, इसलिए यह ऐसा नहीं है।
मेरे ईमेल में एसईएसओएन Vars के माध्यम से पाश को PHP शामिल है - और वह हमेशा रिक्त है (तो यह सिर्फ एक सत्र चर नहीं है, जो रिक्त है, पूरे लॉट रिक्त है)।
क्या कोई अधिक डीबग है कि मैं इन ई-मेल अलर्ट में यह देखने के लिए जोड़ सकता हूं कि क्या सत्र में रणनीति है या नहीं यह नहीं है? यहां कुछ कोड है:
ग्राहक और भुगतान दोनों के साथ आरंभ करें:
& lt; php require_once "../includes/common.php"; $ QuoteShared = नया उद्धरण साझा किया गया (); // जांचें कि क्या यह एक सीधा पृष्ठ हिट है यदि (अनुरोध सत्र ("सत्र" "=" "") {$ $ quoteShared-> DirectHit (); मरने;
आम में शुरू में स्पष्ट शामिल हैं:
session_start ();
हम सत्र की जांच कैसे करते हैं:
फ़ंक्शन अनुरोध सत्र ($ xParam) {$ value = ""; यदि (isset ($ _ सत्र [$ xParam])) {if ($ _SESSION [$ xParam] = "") {$ value = $ _SESSION [$ xParam]; }} $ मान लौटा; }
Comments
Post a Comment