Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

2 अलग-अलग तालिकाओं से उपयोगकर्ता या व्यवस्थापक के रूप में लॉग इन करना

आपको email . के साथ दोनों तालिकाओं को निर्दिष्ट करने की आवश्यकता है कॉलम:

SELECT * 
FROM sollicitant, bedrijf 
WHERE sollicitant.email = '$inputEmail' 
AND bedrijf.email = '$inputEmail'

एक और संभावना है कि उर्फ ​​के साथ एक स्पष्ट जॉइन का उपयोग किया जा रहा है (उपनाम' केवल चीजों को छोटा करने के लिए है, आपको उनका उपयोग करने की आवश्यकता नहीं है।):

SELECT *
FROM sollicitant s, bedrijf b
ON s.email = b.email
WHERE s.email = '$inputEmail' 

ऐसा करने का मतलब है कि आपको JOIN के रूप में केवल एक टेबल के एक कॉलम में ईमेल का हिसाब देना होगा सुनिश्चित करता है कि आपको केवल उन्हीं पंक्तियों को प्राप्त हो जिनमें मेल खाने वाला ईमेल हो। अगर क्वेरी खाली है तो ईमेल दोनों में मौजूद नहीं है।

संपादित करें

यदि आप यह तय करना चाहते हैं कि उपयोगकर्ता की भूमिका के आधार पर आपको कहाँ जाना है, तो आपको सभी उपयोगकर्ताओं को एक तालिका में समेकित करना चाहिए जिसमें एक कॉलम हो जो उपयोगकर्ता की भूमिका को चित्रित करता हो:

SELECT * FROM users WHERE email = '$inputEmail' 

फिर एक बार जब आप डेटा प्राप्त कर लेते हैं तो PHP:

if('sollicitant' == $row['role']) {
    header('Location: sollicitant.php');
    exit();
} elseif ('bedrijf' == $row['role']) {
    header('Location: befrijf.php');
    exit();
} else {
    echo 'There is a problem with your login.';
}        

चेतावनी!

... जैसा कि दूसरों ने कहा है ...

लिटिल बॉबी कहते हैं आपकी स्क्रिप्ट SQL इंजेक्शन हमलों के लिए जोखिम में है। . यहां तक ​​कि स्ट्रिंग से बचना सुरक्षित नहीं है!

मुझे नफरत है जब लोग कहते हैं "मैं इतना दूर नहीं हूँ..." या "यह साइट सार्वजनिक नहीं होगी..." या "यह केवल स्कूल के लिए है, इसलिए सुरक्षा कोई मायने नहीं रखती..." . यदि शिक्षक और प्रोफेसर पहले दिन से सुरक्षा की बात नहीं कर रहे हैं, तो वे इसे गलत कर रहे हैं। उन्हें चुनौती दें। वे मैला और खतरनाक कोडिंग अभ्यास सिखा रहे हैं जिसे छात्रों को बाद में सीखना होगा। मुझे इससे भी नफरत है जब लोग कहते हैं, "मैं बाद में सुरक्षा जोड़ूंगा..." या "सुरक्षा अब महत्वपूर्ण नहीं है..." या "सुरक्षा जोखिम पर ध्यान न दें..."

सादे पाठ पासवर्ड कभी भी संगृहीत न करें! कृपया PHP के अंतर्निहित कार्यों का उपयोग करें पासवर्ड सुरक्षा को संभालने के लिए। यदि आप 5.5 से कम के PHP संस्करण का उपयोग कर रहे हैं तो आप password_hash() का उपयोग कर सकते हैं संगतता पैक . यह आवश्यक नहीं है कि पासवर्ड से बचें या हैशिंग से पहले उन पर किसी अन्य सफाई तंत्र का उपयोग करें। ऐसा करने से बदलाव पासवर्ड और अनावश्यक अतिरिक्त कोडिंग का कारण बनता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तीन टेबल से पंक्तियों को कैसे हटाएं - क्वेरी त्रुटि

  2. पीएचपी पीडीओ फ़ेच अशक्त

  3. लोड हो रहा है क्लास `com.mysql.jdbc.Driver'। यह बहिष्कृत है। नया ड्राइवर वर्ग `com.mysql.cj.jdbc.Driver' है

  4. रिमोट से कनेक्ट करना मेरा एसक्यूएल मुझे उपयोगकर्ता [ईमेल संरक्षित] के लिए एक्सेस अस्वीकृत दिखाता है (पासवर्ड का उपयोग करना:हां)

  5. कुछ मानों को संयोजित करते हुए एकाधिक तालिकाओं से एकल पंक्ति में डेटा प्राप्त करना