2017-10-31 12 views
7

दो उपयोगकर्ता डेटा अलग-अलग टाइमआउट/समाप्ति समय होने के लिए संभव है? मान लें कि पहला डेटा "param_1" 1 दिन में समाप्त हो गया और "param_2" एक महीने में समाप्त हो गया। सीआई सत्र पुस्तकालय के साथ ऐसा कैसे करें। कुछ ऐसा है जो इसकोडनिर्देशक में सत्र समय समाप्ति

$this->session->set_userdata('param_1', 86400); // seconds in a day 
$this->session->set_userdata('param_2', 2592000); // seconds in a month 
+0

कृपया अपनी विशिष्ट समस्या को स्पष्ट करें या आपको जो चाहिए उसे हाइलाइट करने के लिए अतिरिक्त विवरण जोड़ें। जैसा कि वर्तमान में लिखा गया है, यह कहना मुश्किल है कि आप क्या पूछ रहे हैं। इस प्रश्न को स्पष्ट करने में सहायता के लिए [कैसे पूछें] (https://stackoverflow.com/help/how-to-ask) पृष्ठ देखें। – Tpojka

+0

हो सकता है कि यह आप https://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes/1270960#1270960 –

उत्तर

7

"Tempdata" के माध्यम से यह संभव है की तरह हो सकता है:

$this->session->tempdata($key, $value, $validForTime); 

हालांकि, एक ही सत्र कुछ घंटों के लिए हो सकता है एक दिन से अधिक समय तक नहीं करना चाहिए। यदि आप कुछ चर के लिए लंबे समय तक बने रहना चाहते हैं, तो सत्र इसके लिए उपयोग करने के लिए बिल्कुल गलत उपकरण है।

+0

मेरी उद्देश्य में मदद मिलेगी एक उपयोगकर्ता अगर पता करने के लिए है लॉग इन किया गया है क्योंकि उसका लॉगिन सत्र समाप्त हो गया है, या सिर्फ इसलिए कि व्यक्ति जानबूझकर लॉगआउट करता है या शायद पहले कभी लॉगिन नहीं करता है। इसलिए मुझे एक बहुत लंबे समय तक रहने वाले सत्र चर बनाने का विचार है, जो कि मामले को अलग करने के लिए लॉगिन सत्र से अलग है। वहां से उपयोगकर्ता को एक उचित संदेश प्रदर्शित किया जाएगा। कोई आईडिया कि इसे कैसे किया जाए? Tempdata कि होनहार लगता है के लिए के रूप में, लेकिन ऐसा लग रहा था यह अल्पकालिक सत्र के लिए ही उपयुक्त है, यकीन नहीं अधिकतम मूल्य यह – Va1iant

+1

deffinately एक [XY समस्या] है कि (धारण कर सकते हैं https://meta.stackexchange.com/a/66378/204,788)। आपके पास जो विचार है वह भी व्यवहार्य नहीं है। – Narf

+0

मैन्युअल लॉगआउट –

5

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

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