Inscription avec séparation des droits en PHP
Lors de l'ajout de droits utilisateurs, nous devons apporter
des modifications à notre processus d'inscription. Désormais, lors de l'inscription
d'un utilisateur, nous devons spécifier
son statut dans la requête INSERT.
Généralement, lors de l'inscription initiale, tous les utilisateurs
de notre site reçoivent le statut le plus bas,
soit dans notre cas 'user' :
<?php
$query = "INSERT INTO users
SET login='$login', password='$password', 'status'='user'";
?>
Les statuts supérieurs sont généralement attribués par un administrateur. Dans l'interface d'administration, il voit la liste des utilisateurs et peut en faire n'importe lequel, par exemple, un administrateur.
Comment alors le premier administrateur apparaîtra-t-il sur le site ? La manière la plus simple : inscrire un utilisateur normal et via PhpMyAdmin le rendre administrateur.
Une manière plus complexe : lors du premier lancement sur l'hébergement, exécuter l'installation du site, demander via un formulaire le login et le mot de passe et inscrire le tout premier utilisateur du site, auquel on attribuera le statut d'administrateur.
Modifiez le code d'inscription afin que tous les utilisateurs ajoutés
reçoivent le statut 'user'.
Modifiez manuellement le statut d'un utilisateur
en 'admin'. Connectez-vous
sous cet utilisateur.
Créez une page admin.php, à laquelle
seuls les utilisateurs ayant
le statut 'admin' auront accès.
Affichez sur la page admin.php la liste
de tous les utilisateurs inscrits sur votre
site sous forme de tableau. Que le tableau ait
deux colonnes : login et statut.
Modifiez la tâche précédente pour qu'une troisième colonne apparaisse, avec un lien permettant à l'administrateur de supprimer n'importe quel utilisateur.
Modifiez la tâche précédente pour que les lignes du tableau correspondant aux administrateurs soient colorées en rouge, et celles des utilisateurs ordinaires - en vert.
Modifiez la tâche précédente pour qu'une autre colonne apparaisse. Dans cette colonne, l'administrateur pourra modifier les droits des utilisateurs. Faites en sorte que pour tous les utilisateurs ordinaires, il y ait un lien en faire un admin, et pour un administrateur - un lien en faire un user.
Faites en sorte que sur toutes les pages du site, dans l'en-tête, l'utilisateur inscrit voit son login et son statut.
Modifiez la tâche précédente pour que pour les administrateurs, dans l'en-tête du site, un lien vers l'interface d'administration soit également affiché.