Masson Formation

Dans cet article

Diriger l'internaute vers la bonne page

Le concept de routing

Le concept de route ou de rooting est un concept clé de la programmation web. Dans cette fiche, je vous propose de comprendre le principe.

Dans un système MVC ce concept revêt une dimension différente. Ce sera l'objet d'une prochaine fiche.

Diriger l'internaute vers la bonne page

Le principe est de ne pas laisser l'internaute aller où il le souhaite mais de contrôler ses mouvements. On le dirige où on veut en fonction de sa demande.

Dans un site classique, l'internaute qui clique sur un lien est dirigé vers la page HTML ou PHP qui est ciblée par le lien <a href="">

Avec un routeur, on va laisser l'internaute sur la page index de manière permanente et on va appeler le contenu des pages sur la page index. Mais alors, comment l'internaute peut-il nous indiquer la page qu'il souhaite visiter ?

Avec une requête GET.

Souvenez-vous des formulaires en HTML. Il y a deux méthode pour envoyer les données : POST ou GET.

La méthode GET passe les informations en clair dans l'url, comme ceci :


                    
     <form action="pages/traitement.php" method="get">
     
     https://masson-formation.fr/pages/traitement.php?nom=masson&prenom=seb
     
     

Le ? débute la méthode GET et on a ensuite un couple d'information : le name du champ de formulaire associé (=) à la valeur saisie par l'internaute.

Nos liens vont donc contenir la page que l'internaute souhaite visiter.


                    
     <a href="index.php?page=video">Vidéo</a>
     
     Ici, l'internaute souhaite voir la page "video"
     
     

Il nous suffit alors de récupérer cette requête avec la variable super-globale éponyme et d'appeler le fichier approprié.


                    
     $page = $_GET['page'];
     

Pour davantage de sécurité, on préferera filtrer la requête ainsi :


                    
     $page = filter_input(INPUT_GET,'page',FILTER_SANITIZE_FULL_SPECIAL_CHARS)
     

Le fait de filtrer permet de cibler un type de requête spécifique POST ou GET, de ne prendre dans cet array associatif qu'une seule partie et d'appliquer un algorithme de nettoyage. Ici, tous les caractères spéciaux seront transformés. C'est l'équivalent de htmlspecialchars().

Et voici la solution au petit problème posé dans la première vidéo pour faire évoluer votre rooter.

© copyright 2025 Masson Formation - Tous droits réservés