-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcollection_delete.php
39 lines (32 loc) · 1.12 KB
/
collection_delete.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
session_start();
require 'databaseconnect.php';
require 'session_check.php';
require 'role_middleware.php';
checkRole('admin');
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
$id = (int) $_GET['id'];
try {
// Démarrer une transaction
$pdo->beginTransaction();
// D'abord supprimer les déchets associés
$stmt_dechets = $pdo->prepare("DELETE FROM dechets_collectes WHERE id_collecte = :id");
$stmt_dechets->bindParam(':id', $id, PDO::PARAM_INT);
$stmt_dechets->execute();
// Ensuite supprimer la collecte
$stmt_collecte = $pdo->prepare("DELETE FROM collectes WHERE id = :id");
$stmt_collecte->bindParam(':id', $id, PDO::PARAM_INT);
$stmt_collecte->execute();
// Valider la transaction
$pdo->commit();
header("Location: collection_list.php?success=1");
exit();
} catch (PDOException $e) {
// En cas d'erreur, annuler toutes les opérations
$pdo->rollBack();
die("Erreur: " . $e->getMessage());
}
} else {
echo "ID invalide.";
}
?>