2010-11-01 28 views
15

मुझे यकीन नहीं है कि ऐसा करने का सबसे आसान तरीका क्या होगा। मुझे यह पता लगाने में सक्षम होना चाहिए कि उपयोगकर्ता मेरी वेबसाइट पर ऑनलाइन क्या हैं। तो जब लोग थ्रेड या कुछ देख रहे हों तो यह उपयोगकर्ता नाम के बगल में कहेंगे यदि वे ऑनलाइन हैं या ऑफ़लाइन हैं। और फोरम इंडेक्स के नीचे यह सभी उपयोगकर्ता जो ऑनलाइन हैं, कहेंगे।ऑनलाइन उपयोगकर्ताओं का पता लगाएं?

ऐसा कुछ करने का सबसे आसान तरीका क्या होगा? मुझे यकीन नहीं है कि मुझे जावास्क्रिप्ट की आवश्यकता होगी जो हर बार पेज लोड या क्या चलती है।

:)

+3

इसके लिए जावास्क्रिप्ट का उपयोग न करें। – drudge

+0

आप किस मंच और संस्करण का उपयोग कर रहे हैं? यदि कुछ आईबीपी/InvisionFree, या PHPBB, आदि जैसे पूर्व-निर्मित हैं, तो यह कार्यक्षमता आमतौर पर आपके फ़ोरम नियंत्रण कक्ष में मौजूद है। –

+3

मैं अपने स्वयं के मंच कोडिंग कस्टम हूँ। :) – Cory

उत्तर

20
  • धन्यवाद एक उपयोगकर्ता तालिका
  • के साथ एक MySQL डेटाबेस है कि उपयोगकर्ता तालिका जो "पिछली बार" टाइम
  • अद्यतन की बचत होती है में एक स्तंभ है कि हर पृष्ठ अनुरोध पर स्तंभ है
  • जब ऑनलाइन या ऑफलाइन के लिए जाँच, यदि वर्तमान समय शून्य "पिछली बार" टाइम कुछ treshold से अधिक है की जाँच आप की तरह

संपादित करें: आप वैकल्पिक रूप से सर्वर पर एक जावास्क्रिप्ट "पिंग" सर्वर (एक खाली पृष्ठ का अनुरोध) कर सकते हैं या तो यदि आप चाहते हैं कि लोग आपकी वेबसाइट के साथ ऑनलाइन भी प्रदर्शित होने के लिए खुले रहें।

+1

हाँ यह शायद सबसे अच्छा तरीका – Breezer

+0

है जो मैं सोच रहा था। जैसा कि मुझे आखिरी बार देखा जा रहा था। और 5 मिनट या उससे भी कम समय में देखा जाने वाला ऑनलाइन सेट करें। पता नहीं था कि यह सबसे अच्छा तरीका था या नहीं। – Cory

+0

आपको लगता है कि अंतिम बार देखा गया कॉलम अपडेट होना चाहिए? प्रत्येक पृष्ठ लोड? – Cory

1

आपको किसी प्रकार की "सत्र" तालिका पकड़नी होगी, जहां आप उपयोगकर्ता को पकड़ लेंगे और जब वे किसी पृष्ठ पर आएंगे।

यदि समय बड़ा है तो 5 मिनट उपयोगकर्ता ऑफ़लाइन है (और पंक्ति हटा दी जा सकती है)। सत्र तालिका में अन्य उपयोगकर्ता "ऑनलाइन" हैं।

2

एक दृष्टिकोण अपने उपयोगकर्ताओं के सत्र डेटाबेस या किसी अन्य स्टोर में memchached (या आदर्श दोनों What is the best way to handle sessions for a PHP site on multiple hosts?) में स्टोर करना है। फिर आप अपने स्टोर में उपयोगकर्ता को देखें और देखें कि उनका सत्र अभी भी सक्रिय है या नहीं।

इस तरह का एक समाधान: http://pureform.wordpress.com/2009/04/08/memcache-mysql-php-session-handler/

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