Quand tu développes un site web dynamique, tu as souvent une page liste (ex. tous les livres) et une page détails (ex. fiche d’un livre). Pour accéder à la fiche d’un élément, on utilise généralement son identifiant (ID), qu’on passe dans l’URL.
À la fin de ce cours, tu seras capable de :
$_GET)Ce système est utilisé partout :
site.com/livre.php?id=5 → on veut voir le livre avec l’ID 5.
Imaginons une page livres.php qui liste des livres stockés dans un tableau PHP.
<?php
$livres = [
['id' => 1, 'titre' => '1984'],
['id' => 2, 'titre' => 'Le Petit Prince'],
['id' => 3, 'titre' => 'Fahrenheit 451']
];
?>
<h1>Liste des livres</h1>
<ul>
<?php foreach ($livres as $livre): ?>
<li>
<a href="details.php?id=<?= $livre['id'] ?>">
<?= $livre['titre'] ?>
</a>
</li>
<?php endforeach; ?>
</ul>
📌 Ici, chaque lien contient un paramètre
iddans l’URL.
<a href="details.php?id=<?= $livre['id'] ?>">
Cette ligne génère un lien HTML dynamique, dont l'URL contient un paramètre id.
details.php?id=<?= $livre['id'] ?>details.php est le nom de la page cible. C’est la page qui affichera les détails d’un seul livre.
?id= commence la partie dynamique de l’URL : on passe un paramètre GET nommé id.
<?= $livre['id'] ?> est une écriture courte de <?php echo $livre['id']; ?>.
Par exemple, si $livre['id'] vaut 2, alors le lien devient :
<a href="details.php?id=2">
Tu obtiendras un lien cliquable comme :
<a href="details.php?id=2">Le Petit Prince</a>
Quand l’utilisateur clique dessus, il est redirigé vers la page details.php, et l’ID 2 est transmis via l’URL.
Parce que ça te permet de réutiliser la même page details.php pour afficher n’importe quel livre.
Il suffit que details.php lise l’ID dans l’URL et affiche les bonnes infos.
details.phpDans cette page, on va lire l’ID depuis l’URL et afficher les informations du livre correspondant.
<?php
// Exemple de données
$livres = [
1 => ['titre' => '1984', 'auteur' => 'George Orwell'],
2 => ['titre' => 'Le Petit Prince', 'auteur' => 'Saint-Exupéry'],
3 => ['titre' => 'Fahrenheit 451', 'auteur' => 'Ray Bradbury']
];
// Vérifie que l'ID est bien présent dans l'URL
if (isset($_GET['id'])) {
$id = (int) $_GET['id'];
// Si le livre existe
if (isset($livres[$id])) {
$livre = $livres[$id];
} else {
die("Livre non trouvé.");
}
} else {
die("ID manquant.");
}
?>
<h1>Détails du livre</h1>
<p><strong>Titre :</strong> <?= htmlspecialchars($livre['titre']) ?></p>
<p><strong>Auteur :</strong> <?= htmlspecialchars($livre['auteur']) ?></p>
<a href="livres.php">⬅️ Retour à la liste</a>
livres.php, on construit un lien vers details.php?id=...?id=2 est ce qu’on appelle un paramètre GET dans l’URLdetails.php, on le récupère avec $_GET['id']?id=...$_GET['id']href="page.php?id=..."