Registrering med behörighetsdelning i PHP
När vi lägger till användarbehörigheter behöver vi göra
förändringar i vår registrering. Nu måste vi i
INSERT-frågan ange användarens status.
Vid initial registrering får vanligtvis alla användare
på vår webbplats den lägsta statusen,
det vill säga i vårt fall 'user':
<?php
$query = "INSERT INTO users
SET login='$login', password='$password', 'status'='user'";
?>
Högre status ger vanligtvis administratören. I adminpanelen ser hen en lista över användare och kan göra vilken som helst till, till exempel, administratör.
Hur kommer då den första administratören att dyka upp på webbplatsen? Enklast är att registrera en vanlig användare och via PhpMyAdmin göra henne till admin.
Mer avancerat: vid första start på webbhotellet kör webbplatsinstallationen, fråga med hjälp av ett formulär efter inloggning och lösenord och registrera den allra första användaren på webbplatsen, och tilldela hen statusen administratör.
Ändra registreringskoden så att alla tillagda
användare får statusen 'user'.
Ändra manuellt för någon användare
deras status till 'admin'. Logga in
under denna användare.
Skapa en sida admin.php, som
endast användare med
statusen 'admin' ska ha tillgång till.
Visa på sidan admin.php en lista
över alla registrerade användare på din
webbplats i form av en tabell. Låt tabellen ha
två kolumner: inloggning och status.
Modifiera den föregående uppgiften så att en tredje kolumn också visas, med en länk, som admin kan använda för att ta bort vilken användare som helst.
Modifiera den föregående uppgiften så att tabellraderna med admin får röd färg, och med vanliga användare - grön.
Modifiera den föregående uppgiften så att ytterligare en kolumn visas. I denna kolumn kan admin ändra användarnas behörigheter. Gör så att för alla vanliga användare det finns en länk gör hen till admin, och för admin - en länk gör hen till användare.
Gör så att på alla sidor på webbplatsen, i sidhuvudet, ser den inloggade användaren sin inloggning och status.
Modifiera den föregående uppgiften så att för administratörer i webbplatsens sidhuvud också visas en länk till adminpanelen.