2010-04-08 10 views
5

मुझे सत्र जारी रखने में कोई समस्या हो रही है, और कोई भाग्य खोज नहीं है, मुझे पूछने की ज़रूरत है।सत्र दृढ़ता समस्या

मैं अपने सत्र की सामग्री को पहले सेट करते समय अपेक्षित के रूप में एक्सेस कर सकता हूं, लेकिन जैसे ही पृष्ठ रीफ्रेश होता है, मैं सबकुछ खो देता हूं और मुझे नहीं लगता कि क्यों। session_start() सेट है और मैं कुछ भी परेशान या नष्ट नहीं कर रहा हूं। मैंने सत्रों के तहत PHP जानकारी देखी और सबकुछ ठीक दिखता है (लेकिन सत्रों की मेरी समझ सीमित है)।

मैं ओएस 10.5 पर एमएएमपी चला रहा हूं, और आखिरी बार मैंने सत्रों का उपयोग किया था।

+0

session.cookie_lifetime 0 पर सेट है। क्या यह सही है? – YsoL8

+0

मुझे print_r ($ _ सत्र) के साथ एक खाली सरणी मिल रही है; और सत्र tmp फ़ोल्डर में सहेजे जा रहे हैं, बस उपलब्ध नहीं कराया जा रहा है। – YsoL8

+0

हल हो गया! मैंने session_start को कोड के शीर्ष पर सीधे स्थानांतरित कर दिया। PHP मजेदार है! केवल इसके ऊपर एक टिप्पणी ब्लॉक था। – YsoL8

उत्तर

1

यदि आप पृष्ठ को रीफ्रेश कर रहे हैं तो आप एक नया सत्र बना सकते हैं और/या सत्र चर को ओवरराइट कर सकते हैं। आपको यह जांचना चाहिए कि कोई सत्र चर पहले से सेट करने से पहले सेट है या नहीं।

+0

एक कथन में session_start में डाल के रूप में? – YsoL8

+0

मुझे नहीं लगता कि session_start होना आवश्यक है, लेकिन आपके द्वारा सेट किए जा रहे किसी भी सत्र वर्र्स की आवश्यकता है। –

0

कुकीज़ सक्षम? आप अनुरोध (url) के माध्यम से session_id भी पास कर सकते हैं।

1

जोश ने कहा है, तो आप एक नया निर्माण शुरू करने से पहले सत्र अस्तित्व की जांच करना चाहेंगे, $ _SESSION वैरिएबल की जांच करने के लिए अगर कथन का उपयोग करें, तो आपको वह परिणाम देना चाहिए जो आपको चाहिए। एक लील डिबगिंग चाल मैं का उपयोग करते हैं है:

if($_SESSION) { 
    echo 'session exists'; 
else { 
    echo 'does not exist'; 
} 

इस तरह मैं तुरन्त पता है कि कोड ब्लॉक बुलाया जा रहा है, क्या अंदर निहित के बारे में चिंता किए बिना।

उम्मीद है कि यह मदद करता है :)

संबंधित मुद्दे