2010-05-25 12 views
5

मुझे अपने आवेदन में ऑटो-लॉगऑफ सिस्टम की आवश्यकता है।PHP में ऑटो लॉगऑफ कैसे प्राप्त करें?

यदि उपयोगकर्ता तीस मिनट से अधिक समय तक एप्लिकेशन का उपयोग नहीं कर रहा है। उसे फिर से लॉग इन करना चाहिए।

यही मुझे चाहिए। lastAccessTime 30 मिनट से कम होना चाहिए। अगर lastAccessTime 30 मिनट से अधिक हो तो उपयोगकर्ता को अपने क्रेडेंशियल्स के साथ फिर से लॉगिन करना चाहिए।

(वर्तमान में मैं ऑटो मेरे उपयोगकर्ता तालिका (डेटाबेस में Lastaccesstime क्षेत्र का उपयोग लॉग ऑफ) और हर पृष्ठ लोड होने का वर्तमान समय के साथ lastaccesstime तुलना, मुझे नहीं लगता कि यह सही तरीका नहीं है है।)

करने के लिए अपने किसी भी तरह से है प्राप्त? अग्रिम धन्यवाद।

उत्तर

7

आप सत्र लाइफटाइम निर्दिष्ट करना चाहिए और यदि कोई उपयोगकर्ता में लॉग ऑन है सिर्फ $_SESSION का उपयोग देखने के लिए:

ini_set('session.cookie_lifetime',(60*30)); // 60 seconds times 30 = 30 minutes 
+0

कि भी 30mins के बाद एक सक्रिय उपयोगकर्ता लॉग ऑफ नहीं चाहेंगे ? –

+4

नहीं, प्रत्येक बार एक सक्रिय उपयोगकर्ता पृष्ठ पर जाता है, कुकी रीसेट हो जाती है। – Konerak

+2

नहीं, प्रत्येक अनुरोध कुकी को रीसेट करता है, और इस प्रकार टाइमर को पुनरारंभ करता है। – Amadan

3

आप उन में लॉग इन रखने के लिए कुकीज़ का उपयोग कर रही है, तो इसके लिए एक पर्याप्त टीटीएल सेट ।

30 मिनट की समय सीमा समाप्ति समय के लिए, प्रवेश पर कुकी इस तरह से सेट करें:

setcookie($COOKIE_NAME, $COOKIE_VALUE, time() + 60 * 30); 

वैकल्पिक रूप से, आप session_set_cookie_params इस्तेमाल कर सकते हैं

session_set_cookie_params(60 * 30); // takes lifetime as first argument 
संबंधित मुद्दे