Supprimer

Nous ajoutons un fichier delete.php à la racine du site. Ce fichier contient un formulaire qui permet de supprimer une personne.

Méthodedelete.php

La première partie du fichier contient le traitement des données du formulaire.

La deuxième partie contient le formulaire.

1
<?php
2
require 'bdd.php';
3
$id = $_GET['id'] ?? '';
4
5
// Recherche de la personne
6
$sql = 'SELECT * FROM personnes WHERE id=:id';
7
$statement = $db->prepare($sql);
8
$statement->execute(compact('id'));
9
$personne = $statement->fetch();
10
11
if (!$personne) {
12
    header('location:personnes.php');
13
    exit();
14
}
15
16
$page_title = "Supprimer-$personne[nom]";
17
18
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['supprimer'])) {
19
    // suppression photo
20
    if (file_exists("photos/$personne[photo]")) {
21
        unlink("photos/$personne[photo]");
22
    }
23
24
    // suppression de la personne
25
    $sql = 'DELETE FROM personnes WHERE id = :id';
26
    $statement = $db->prepare($sql);
27
    $statement->execute(compact('id'));
28
29
    header('location:personnes.php');
30
    exit();
31
}
32
?>
33
<!DOCTYPE html>
34
<html lang='fr'>
35
36
<?php require 'head.php'; ?>
37
38
<body>
39
    <?php require 'header.php'; ?>
40
41
    <main>
42
        <h1>Supprimer</h1>
43
        <form action='' method='post'>
44
            <section>
45
                <img src='photos/<?= $personne['photo'] ?>' alt='photo <?= $personne['nom'] ?>' />
46
                <?= $personne['nom'] ?>
47
                <?= $personne['prenom'] ?>
48
                <?= $personne['age'] ?> ans
49
            </section>
50
            <div>
51
                <button type='submit' name='supprimer'>Supprimer</button>
52
                <a href='personnes.php'><button type='button'>Annuler</button></a>
53
            </div>
54
        </form>
55
    </main>
56
    <?php require 'footer.php'; ?>
57
</body>
58
59
</html>
1
unlink("photos/$personne[photo]");

Permet de supprimer un fichier d'après son url.

1
DELETE FROM personnes WHERE id = :id

Requête sql de suppression d'une personne selon son id