Afficher

page utilisateur/show.php

Il faut modifier notre fichier utilisateurs/show.php pour qu’il récupère l'utilisateur correspondant à l'id dans la base de données.

Méthodeutilisateur/show.php

Nous ne modifions que la section chargée de récupérer les données.

1
<?php
2
// ============================== 
3
// CONNEXION À LA BASE DE DONNÉES 
4
// ==============================
5
$db = require '../bdd.php';
6
7
// ==============================
8
// RÉCUPÉRATION DE L’ID 
9
// ==============================
10
$id = (int) ($_GET['id'] ?? 0);
11
12
// ==============================
13
// RÉCUPÉRATION DE L’UTILISATEUR
14
// ==============================
15
16
// Requête SQL avec paramètre nommé
17
$sql = 'SELECT * FROM utilisateurs WHERE id = :id';
18
19
// Préparation de la requête (sécurité contre les injections SQL)
20
$statement = $db->prepare($sql);
21
22
// Exécution de la requête en liant le paramètre :id
23
$statement->execute(['id' => $id]);
24
25
// Récupération de l’utilisateur (tableau associatif)
26
$utilisateur = $statement->fetch();
27
28
// Si aucun utilisateur n’est trouvé → redirection vers la liste
29
if (!$utilisateur) {
30
    header('location:../utilisateur/index.php');
31
    exit();
32
}
33
34
// ==============================
35
// VARIABLES POUR LA VUE
36
// ==============================
37
38
// Chemin de base pour les inclusions
39
$page_base = '../';
40
// Titre dynamique de la page
41
$page_title = "Afficher-{$utilisateur['nom']}";
42
// Feuilles de styles spécifiques à la page
43
$page_styles = ['utilisateur', 'card'];
44
?>
45
46
<!DOCTYPE html>
47
<html lang='fr'>
48
49
<?php require "$page_base/head.php" ?>
50
51
<body>
52
    <?php require "$page_base/header.php" ?>
53
54
    <main>
55
        <h1>Afficher</h1>
56
        <?php
57
        $card = [
58
            'src' => $utilisateur['photo'],
59
            'alt' => "photo de {$utilisateur['nom']} {$utilisateur['prenom']}",
60
            'figcaption' => "{$utilisateur['nom']} {$utilisateur['prenom']} - {$utilisateur['age']} ans"
61
        ];
62
        require("$page_base/components/card.php");
63
        ?>
64
    </main>
65
66
    <?php require "$page_base/footer.php" ?>
67
</body>
68
69
</html>