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éthode : utilisateur/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
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ête16
$sql = 'SELECT * FROM utilisateurs WHERE id = :id';
17
// envoi de la requête et récupération du résultat18
$statement = $db->prepare($sql);
19
$statement->execute(['id' => $id]);
20
$utilisateur = $statement->fetch();
21
22
// Si aucun utilisateur n’est trouvé → redirection vers la liste23
if (!$utilisateur) {
24
header('location:../utlisateur/index.php');
25
exit;26
}
27
28
// ============================== 29
// TRAITEMENT DU FORMULAIRE30
// ==============================31
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['supprimer'])) {
32
// suppression de l'utilisateur33
$sql = 'DELETE FROM utilisateurs WHERE id = :id';
34
// envoi de la requête35
$statement = $db->prepare($sql);
36
$statement->execute(['id' => $id]);
37
38
// Dossier relatif de stockage des photos39
// par rapport à la racine du projet40
$relDir = '../';
41
42
// suppression de la photo si elle existe43
if (is_file("{$relDir}{$utilisateur['photo']}")) {
44
unlink("{$relDir}{$utilisateur['photo']}");
45
}
46
// redirection47
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
60
<html lang='fr'>
61
62
require "$page_base/head.php"
63
64
<body>
65
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
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
require "$page_base/footer.php"
86
</body>
87
88
</html>