⊗ppPmAuRgtD 434 of 447 menu

डेटाबेस सामान्यीकरण

वर्तमान में, हम अपने उपयोगकर्ताओं की स्थिति उसी तालिका में संग्रहीत करते हैं जहाँ स्वयं उपयोगकर्ता हैं। हालाँकि, यह गलत है - हमारे पास एक गैर-सामान्यीकृत तालिका है, क्योंकि शब्द 'user' और 'admin' कई बार दोहराए जाते हैं।

सामान्यीकरण करना आवश्यक है - आइए हम अपनी स्थितियों को एक अलग तालिका statuses में ले जाएँ:

id name
1 user
2 admin

और तालिका users में एक कॉलम status_id बनाएँ। अब पंजीकरण के दौरान हम कॉलम status_id में तालिका statuses से id स्थिति लिखेंगे:

<?php $query = "INSERT INTO users SET login='$login', password='$password', status_id='1'"; ?>

प्राधिकरण के दौरान सबसे जटिल परिवर्तन होंगे: उपयोगकर्ता की स्थिति प्राप्त करने के लिए, LEFT JOIN करना होगा:

<?php $login = $_POST['login']; // लॉगिन के आधार पर उपयोगकर्ता प्राप्त करें और स्थिति को जोड़ें: $query = "SELECT users.*, statuses.name as status FROM users LEFT JOIN statuses ON users.status_id=statuses.id WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $hash = $user['password']; if (password_verify($_POST['password'], $hash)) { $_SESSION['auth'] = true; $_SESSION['status'] = $user['status']; // स्थिति } else { } } else { } ?>

सिद्धांत में वर्णित के अनुसार अपने प्राधिकरण और पंजीकरण को पुनः संशोधित करें।

एडमिन पैनल के काम में परिवर्तन करें (उपयोगकर्ताओं की स्थितियों का प्रदर्शन, स्थितियों में परिवर्तन और इसी तरह)।

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें