टाइमज़ोन के बीच के अंतरों का पता लगाने से परेशान न हों। यह आवश्यक नहीं है।
जब भी उपयोगकर्ता किसी पृष्ठ तक पहुंचता है, तो उपयोगकर्ता तालिका के अंतिम-अपडेट-टाइम के अपने रिकॉर्ड में एक फ़ील्ड अपडेट करें। फिर पिछले 5 मिनट के भीतर उन सभी उपयोगकर्ताओं के लिए एक प्रश्न पूछें जिनके पास अंतिम-अपडेट-समय है। इससे ज्यादा कुछ भी, और उन्हें "ऑफ़लाइन" माना जाता है।
यदि आप MySQL में Now() फ़ंक्शन के माध्यम से अपने सर्वर-टाइम का उपयोग करते हैं, तो आप समय-क्षेत्रों के बीच अंतरों की गणना के साथ-साथ करेंगे।
यह ट्रैक करने का मानक तरीका है कि वर्तमान में कितने उपयोगकर्ता ऑनलाइन हैं (मतलब, पिछले कुछ मिनटों में सक्रिय)।
लगातार अपडेट किया जाता है
यदि आप जानना चाहते हैं कि वे तब भी सक्रिय हैं, जब वे एक पृष्ठ से दूसरे पृष्ठ पर नहीं जा रहे हैं, तो अपने सर्वर को हर 60 सेकंड में पिंग करने के लिए थोड़ा सा जावास्क्रिप्ट शामिल करें या आपको यह बताने के लिए कि वे अभी भी जीवित हैं। यह मेरे मूल सुझाव की तरह ही काम करेगा, लेकिन यह आपके रिकॉर्ड को हर पांच मिनट में कम से कम एक बार आपकी साइट ब्राउज़ करने की आवश्यकता के बिना अपडेट कर देगा।
var stillAlive = setInterval(function () {
/* XHR back to server
Example uses jQuery */
$.get("stillAlive.php");
}, 60000);