Supprimer

page utilisateur/delete.php

Nous ajoutons un fichier utilisateur/delete.php à la racine du site, contenant un formulaire permettant de supprimer un utilisateur.

Méthodeutilisateur/delete.php

Dans un premier temps, le fichier affiche l’utilisateur sélectionné.

Ensuite, il vérifie si le formulaire a été soumis et procède à la suppression de l’utilisateur.

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
// création de la requête
16
$sql = 'SELECT * FROM utilisateurs WHERE id = :id';
17
// envoi de la requête et récupération du résultat
18
$statement = $db->prepare($sql);
19
$statement->execute(['id' => $id]);
20
$utilisateur = $statement->fetch();
21
22
// Si aucun utilisateur n’est trouvé → redirection vers la liste
23
if (!$utilisateur) {
24
    header('location:../utlisateur/index.php');
25
    exit;
26
}
27
28
// ============================== 
29
// TRAITEMENT DU FORMULAIRE
30
// ==============================
31
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['supprimer'])) {
32
    // suppression de l'utilisateur
33
    $sql = 'DELETE FROM utilisateurs WHERE id = :id';
34
    // envoi de la requête
35
    $statement = $db->prepare($sql);
36
    $statement->execute(['id' => $id]);
37
38
    // Dossier relatif de stockage des photos
39
    // par rapport à la racine du projet
40
    $relDir =  '../';
41
42
    // suppression de la photo si elle existe
43
    if (is_file("{$relDir}{$utilisateur['photo']}")) {
44
        unlink("{$relDir}{$utilisateur['photo']}");
45
    }
46
    // redirection
47
    header('location:../utilisateur/index.php');
48
    exit;
49
}
50
51
// ============================== 
52
// VARIABLES POUR LA VUE 
53
// ==============================
54
$page_base = '../';
55
$page_title = "Supprimer-{$utilisateur['nom']}";
56
$page_styles = ['utilisateur', 'card', 'form'];
57
58
?>
59
<!DOCTYPE html>
60
<html lang='fr'>
61
62
<?php require "$page_base/head.php" ?>
63
64
<body>
65
    <?php require "$page_base/header.php" ?>
66
67
    <main>
68
        <h1>Supprimer</h1>
69
        <form action="" method="post">
70
            <section class="form-buttons">
71
                <button type="submit" name="supprimer">Confirmer la suppression</button>
72
                <a href="utilisateur/index.php" class="btn-cancel">Annuler</a>
73
            </section>
74
        </form>
75
        <?php
76
        $card = [
77
            'src' => $utilisateur['photo'],
78
            'alt' => "photo de {$utilisateur['nom']} {$utilisateur['prenom']}",
79
            'figcaption' => "{$utilisateur['nom']} {$utilisateur['prenom']} - {$utilisateur['age']} ans"
80
        ];
81
        require("$page_base/components/card.php");
82
        ?>
83
    </main>
84
85
    <?php require "$page_base/footer.php" ?>
86
</body>
87
88
</html>