Principe :
Deux variables de session contiennent le login et le mot de passe du visiteur (variables vides si le visiteur n'est pas identifié).
Si le visiteur n'est pas identifié, le menu propose un choix Se connecter qui envoie sur un formulaire de saisie (on peut aussi inclure ce formulaire directement dans le menu). Si le visiteur est identifié, le menu propose un choix Se déconnecter qui vide les variables de session qui contiennent le login et le mot de passe du visiteur.
Chaque page commence par quelque chose qui ressemblera à :
if (le visiteur n'a pas le bon niveau d'autorisation pour cette page) {
message de refus
fin de page
return ;
}L'évaluation du niveau d'autorisation peut se faire de plusieurs manières :
(Cette solution est mauvaise, car elle complique les modifications.) Coder en dur le test sur chaque possibilité :
if ((nom=="bidule") && (mot de passe=="truc")) {
...
} elseif ((nom=="chose") && (mot de passe=="n'importe quoi")) {
...
} else
etc.
(Mieux.) Ranger les noms et mots de passe dans un tableau, et parcourir le tableau pour faire la vérification.
(Parfait.) La même chose, mais créer une table spéciale dans la base de données au lieu d'utiliser un tableau.
Pour être parfait ce serait bien que ce soit une fonction qui affiche le menu, et que cette fonction décide d'elle-même des choix disponibles en fonction du niveau d'autorisation du visiteur.
Exemple d'utilisation des sessions : http://grappa.univ-lille3.fr/~gonzalez/session_php.