Files
Portfolio-Esteban/scripts/removeProject.php
T
2026-07-03 02:02:13 +02:00

39 lines
1.3 KiB
PHP

<?php
// On démarre la session
require_once(__DIR__ . '/../functions/security.php');
// On ajoute la DB
require_once('../functions/databaseConnection.php');
// On ajoute les logs Discord
require_once('../functions/sendLogs.php');
// Si l'utilisateur n'est pas admin il ne peut pas executer le reste du script
if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
header('Location: ../pages/home.php');
exit;
}
// Vérification du jeton CSRF : bloque les requêtes forgées depuis un autre site
requireCsrfToken();
//L'id doit être collecté sinon l'utilisateur ne peux pas executer le reste du script
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
header('Location: ../pages/admin.php');
exit;
}
// On collecte l'id et on le met en variable locale
$id = (int) $_GET['id'];
try { // On essaie d'executer une requête qui est préparée
$stmt = $dbh->prepare('DELETE FROM projects WHERE id = :id');
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->execute(); // Sinon on renvoie l'erreur
} catch (PDOException $e) {
die("Erreur lors de la suppression du projet :" . $e->getMessage());
}
// Log Discord
sendLog("Suppression du projet id " . $id);
// On renvoie l'utilisateur sur admin.php
header('Location: ../pages/admin.php');
exit;