- rajouter un champ "protégé" oui / non à la DB
- proposer une identification.
Il suffirai alors de vérifier que l'identification est bien faite, et si tel est le cas, d'afficher dans les liens toutes les pages. L'identification peut par exemple être suivie à l'aide de sessions.
Si il n'y a pas d'identification, on se contente d'afficher toutes les pages ou protégé = non.
Il faudra aussi penser à vérifier au moment de l'affichage de la page si l'accès est autorisé, des fois qu'un petit malin s'amuse à modifier l'URL à la main.
Il faudra prévoir une page spéciale vers laquelle rediriger en cas d'identification refusée.
Pas besoin d'utiliser les redirections, il suffit de modifier la récupération de la page :
Code :
if (isset($_GET['id_page'])) { $_ENV['id_page'] = intval($_GET['id_page']); } else { $_ENV['id_page'] = $id_page_accueil; }
Il faut rajouter à ce stade une vérification croisée de l'identification et du type de page (protégée ou non).
Si l'accès est refusé, il suffit de modifier la valeur de $_ENV['id_page'] vers la page de refus par défaut.
La seule fonction qu'il faudra penser à modifier est affiche_menu(), afin de pouvoir dans la requête :
- soit la laisser telle quelle -> affiche toutes les pages -> identification
- rajouter une clause "AND PROTEGE = 0' -> affiche seulement les pages non protégées -> non identifié
en suivant ce schema, il faudraque toutes les pages filles d'une page protégée soient protégées également.
Partager