GET
L'envoie de données par la méthode GET permet de transmettre des données à une page via son URL.
show.php?id=3
Demande le fichier show.php et lui transmet l'information id=3.
C'est le tableau $_GET qui contient l'information.
$id = $_GET['id'] ?? '';
Méthode : show.php
Réalisez la page show.php
require 'bdd.php';
$id = $_GET['id'] ?? '';
$personne = current(array_filter($listePersonnes, fn($p) => $p['id'] == $id));
if (!$personne) {
header('location:personnes.php');
exit();
}
$page_title = 'Afficher-' . $personne['nom'];
<html lang='fr'>
require 'head.php'
<body>
require 'header.php'
<main>
<h1>Afficher</h1>
<section>
<img src='photos/= $personne['photo'] ' alt='photo = $personne['nom'] ' />
= $personne['nom']
= $personne['prenom']
= $personne['age'] ans
</section>
</main>
require 'footer.php'
</body>
</html>
current
Récupère l'élément courant d'un tableau. Ici, le premier.
array_filter($listePersonnes, fn($p) => $p['id'] == $id)
Filtre les personnages dont l'id est $id
current(array_filter($listePersonnes, fn($p) => $p['id'] == $id));
Retourne la personne dont l'id est $id.
A partir de la version 8.4 de PHP, on peut simplifier avec array_find :
array_find($listePersonnes, fn($p) => $p['id'] == $id);
if (!$personne) {
header('location:personnes.php');
exit();
}
Redirige vers la page personnes.php si l'identifiant correspond à aucune personne.
$page_title = 'Afficher-' . $personne['nom'];
Affiche le nom de la personne dans l'onglet de la page.
Méthode : personnes.php
Pour appeler chaque personnage, on ajoute à la page personnes.php un lien autour de chaque photo qui pointe vers la page show.php accompagnée de l'identifiant de la personne.
require 'bdd.php';
$page_title = 'Personnes';
<html lang='fr'>
require 'head.php'
<body>
require 'header.php'
<main>
<h1>Afficher</h1>
<ul>
foreach ($listePersonnes as $personne) {
<li>
<a href='show.php?id== $personne['id'] '>
<img src='photos/= $personne['photo'] ' alt='photo = $personne['nom'] ' />
</a>
= $personne['nom']
= $personne['prenom']
= $personne['age'] ans
</li>
}
</ul>
</main>
require 'footer.php'
</body>
</html>
<a href='show.php?id== $personne['id'] '>
Permet de générer des liens vers show.php avec l'id du personnage.