मैं ऐसी वेबसाइट के उपयोगकर्ता प्रबंधन भाग को विकसित कर रहा हूं जो वेबकास्ट होस्ट करेगा। लक्ष्य एक ही उपयोगकर्ता नाम (ईमेल पता) को समवर्ती रूप से उपयोग करने से रोकना है। यही है, हम नहीं चाहते कि दो व्यक्ति घटना को देखने के लिए एक लॉगिन का उपयोग कर रहे हों।PHP/MySQL साइट में समवर्ती उपयोगकर्ता लॉगिन को कैसे रोकें?
मैंने पहले से ही एक तालिका स्थापित की है जो उपयोगकर्ता पंजीकरण डेटा को प्राथमिक कुंजी के रूप में regid के साथ रखती है। मेरा विचार है कि उपयोगकर्ता नाम के साथ एक लॉगिन इतिहास तालिका बनाना प्राथमिक कुंजी के रूप में, पंजीकरण तालिका में उपयोगकर्ता नाम के लिए विदेशी कुंजी। जब उपयोगकर्ता साइट पर लॉग इन करता है तो लॉगिन इतिहास तालिका केवल टाइमस्टैम्प होगी। हालांकि, यह एक से अधिक व्यक्तियों को एक ही लॉगिन नाम का उपयोग करने से रोकने के अपने लक्ष्य को पूरा नहीं करेगा।
इसके बजाए, लॉगिन इतिहास या उपयोगकर्ता तालिका में लॉग इन स्थिति फ़ील्ड होना बेहतर होगा जो लॉग इन के लिए लॉग इन और 0 के लिए सेट किया गया है? लॉगिन और लॉगआउट पर मूल्य को अपडेट करने के लिए इसे संग्रहीत प्रक्रिया की आवश्यकता होगी, और जब उपयोगकर्ता लॉग इन स्थिति = 1, उपयोगकर्ता पहले से लॉग इन होता है और दूसरी बार लॉगिन नहीं कर सकता है तो उसे सत्यापित करने की आवश्यकता होगी। क्या यह एक व्यवहार्य दृष्टिकोण है?
कृपया अन्य विधियों को साझा करें जिन्हें आप एक ही लॉगिन प्रमाण पत्र को कई व्यक्तियों के बीच साझा करने से रोकने के लिए उपयोग करते हैं।
धन्यवाद, सिड
"सत्र" के साथ "कुकी" बदलें, और यह अच्छी तरह से काम करेगा। बस प्रत्येक अनुरोध पर डेटाबेस के खिलाफ सत्र मान जांचना सुनिश्चित करें, और जब उपयोगकर्ता फिर से लॉग इन करता है तो हमेशा मान को रीसेट करने के लिए सुनिश्चित करें। पेज देखने की कोशिश कर रहे दो उपयोगकर्ता लगातार एक दूसरे को लॉग आउट करेंगे। – Charles
हां, अच्छी कॉल, "सत्र" पढ़ने के लिए अद्यतन पोस्ट। – MrWhite
मुझे आपका दृष्टिकोण पसंद है। एकमात्र चेतावनी यह होगी कि दूसरा उपयोगकर्ता, पहले से उपयोग में आने वाले लॉगिन का उपयोग करने का प्रयास करते समय, एक संदेश प्राप्त करता है जिसमें यूजर आईडी पहले से लॉग इन है, या उस प्रभाव के लिए कुछ है। हम यह सुनिश्चित करना चाहते हैं कि वेबकास्ट को देखने वाले प्रत्येक व्यक्ति के पास अपना लॉगिन प्रमाण-पत्र होगा। धन्यवाद :) – SidC