Passage de variables entre pages via l'URL (GET)
Objectif
Section titled “Objectif”- Comprendre et implémenter le passage de variables entre différentes pages d’un site web en utilisant la méthode GET et la superglobale
$_GET.
Explication théorique
Section titled “Explication théorique”Dans un site web multi-pages, il est courant de devoir passer des informations d’une page à une autre.
En PHP, une des méthodes les plus simples pour réaliser ce transfert est d’utiliser la méthode GET, où les données sont passées dans l’URL de la requête.
Ces données peuvent être récupérées à l’aide de la superglobale $_GET, un tableau associatif qui contient les données envoyées.
Exemple d’utilisation
Section titled “Exemple d’utilisation”Supposons que vous souhaitez passer le nom de l’utilisateur de la page d’accueil à une page de profil ou à une page de détails.
Vous pouvez ajouter le nom dans un lien sous la forme suivante : <a href="profile.php?name=JohnDoe">Voir Profil</a>=.
Sur la page profile.php, vous pouvez accéder à cette variable en utilisant $_GET['name'].
Instructions pour l’activité
Section titled “Instructions pour l’activité”Ajout de fonctionnalités de passage de données
Section titled “Ajout de fonctionnalités de passage de données”- Modifiez
index.phppour inclure un lien qui passe une variable àabout.php.
Modification de about.php pour recevoir des données
Section titled “Modification de about.php pour recevoir des données”- Ajoutez du code pour afficher une information passée depuis
index.php.
Test de la fonctionnalité
Section titled “Test de la fonctionnalité”- Assurez-vous que le passage de l’information fonctionne correctement en cliquant sur le lien et en vérifiant l’affichage sur
about.php.
Voir la correction
Code de base modifié pour l’activité
Section titled “Code de base modifié pour l’activité”Modification pour ajouter un lien passant une variable
Section titled “Modification pour ajouter un lien passant une variable”<?php include 'header.php'; ?> <h1>Bienvenue sur mon site personnel</h1> <p>Ceci est la page d'accueil.</p> <a href="about.php?name=Visiteur">En savoir plus sur nous</a><?php include 'footer.php'; ?>Modification pour recevoir et afficher la variable
Section titled “Modification pour recevoir et afficher la variable”<?php include 'header.php'; ?> <h1>À propos de nous</h1> <?php if (isset($_GET['name'])) { echo "<p>Bienvenue, " . htmlspecialchars($_GET['name']) . "! Voici plus d'informations sur notre site.</p>"; } else { echo "<p>Voici plus d'informations sur notre site.</p>"; } ?><?php include 'footer.php'; ?>Correction - repo
Section titled “Correction - repo”https://github.com/nn-teach/PHP-intro/tree/v2
Explications supplémentaires
Section titled “Explications supplémentaires”- Sécurité : Il est important de toujours nettoyer les données reçues pour éviter les failles de sécurité comme les attaques XSS. C’est pourquoi
htmlspecialchars()est utilisé pour échapper les caractères spéciaux. - Vérification de l’existence des données : L’utilisation de
isset()garantit que le code tente de lire$_GET['name']seulement si la variable est présente dans l’URL. Cela évite les erreurs dues à la tentative d’accès à une variable non définie.