⊗ppPmAuRgtD 434 of 447 menu

Normalisatie van de database

Op dit moment slaan we de statussen van onze gebruikers op in dezelfde tabel als de gebruikers zelf. Dit is echter niet correct - we krijgen een genormaliseerde tabel, omdat de woorden 'user' en 'admin' vele malen herhaald worden.

Het is noodzakelijk om normalisatie uit te voeren - we halen onze statussen eruit en plaatsen ze in een aparte tabel statuses:

id name
1 user
2 admin

En in de tabel users maken we een kolom status_id. Nu zullen we bij registratie in de kolom status_id de id van de status uit de tabel statuses opschrijven:

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

De meest ingrijpende wijzigingen vinden plaats bij autorisatie: om de status van de gebruiker te krijgen, moet een LEFT JOIN worden uitgevoerd:

<?php $login = $_POST['login']; // We halen de gebruiker op via login en joinen de status: $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']; // status } else { } } else { } ?>

Pas uw autorisatie en registratie aan volgens de beschrijving in de theorie.

Breng wijzigingen aan in de werking van het adminpaneel (weergave van gebruikersstatussen, wijzigingen van statussen en zo verder).

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren