Registrering med adskillelse af rettigheder i PHP
Ved tilføjelse af brugerrettigheder skal vi foretage
ændringer i vores registrering. Nu skal vi, når en bruger registreres,
angive deres status i INSERT forespørgslen.
Normalt får alle brugere på vores hjemmeside den laveste status
ved indledende registrering,
det vil sige i vores tilfælde 'user':
<?php
$query = "INSERT INTO users
SET login='$login', password='$password', 'status'='user'";
?>
Højere status gives normalt af administratoren. I adminpanelet ser han/hun en liste over brugere og kan gøre enhver til administrator for eksempel.
Hvordan vil den første administrator så komme på hjemmesiden? Den enkleste måde: registrer en almindelig bruger og gør ham/hende til admin via PhpMyAdmin.
En mere kompliceret måde: ved første opstart på webhostingen køres installationsscriptet for hjemmesiden, hvor man via en form spørger efter login og adgangskode og registrerer den allerførste bruger på hjemmesiden, som man tildeler administratorens status.
Ændr registreringskoden, så alle tilføjede
brugere modtager status 'user'.
Manuelt skal du ændre en brugers
status til 'admin'. Log ind
med denne bruger.
Lav en side admin.php, som
kun vil være tilgængelig for brugere med
status 'admin'.
Vis på siden admin.php en liste
over alle registrerede brugere på din
hjemmeside i form af en tabel. Lad tabellen have
to kolonner: login og status.
Modificer den forrige opgave, så der kommer en tredje kolonne, med et link, som admin kan bruge til at slette enhver bruger.
Modificer den forrige opgave, så tabellerækker med administratorer farves rødt, og med almindelige brugere - grønt.
Modificer den forrige opgave, så der kommer endnu en kolonne. I denne kolonne kan admin ændre brugerrettigheder. Gør det sådan, at der for alle almindelige brugere står et link gør ham/hende til admin, og for en administrator - linket gør ham/hende til bruger.
Sørg for, at på alle sider på hjemmesiden, i headeren, vil en registreret bruger se deres login og status.
Modificer den forrige opgave, så der for administratorer i hjemmesidens header også vises et link til adminpanelet.