Suppression d'un enregistrement en fonction d'un fichier
Citation:
Bonjour, Je m'explique :
le but est de supprimer l'enregistrement si le fichier est supprimer.
Rien ne se passe, même pas de message d'erreur ou de succès.
Besoin d'aide, merci d'avance & bonne après-midi.
class/imageManager.php
Code:
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 40 41 42
|
class imageManager {
private $db;
public function __construct($db) {
$this->setDb($db);
}
public function setDb(PDO $dbh) {
return $this->db = $dbh;
}
public function deleteImageData($filename) {
$filename = $_GET['filename'];
try {
$sql = 'DELETE FROM images WHERE filename = :filename';
$stmnt = $this->db->prepare($sql);
$stmnt->bindParam(':filename', $filename);
$stmnt->execute();
$count = $stmnt->rowCount();
return $count;
}
catch(PDOException $e) {
echo 'Une erreur est survenue lors de la suppression des données dans la base.<br>
Message d\'erreur : ' . $e->getMessage();
}
}
} |
process/process-delete-image.php
Code:
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
if(isset($_GET['filename'])) {
// Suppression des fichiers : images et vignette
$path_images = IMAGE_DIR_PATH . $filename;
$path_thumbs = THUMB_DIR_PATH . $filename;
if(file_exists($path_images)) {
if(!unlink($path_images)) {
$message = '<p class="msg_error">Une erreur est survenue lors de la supression du fichier image.</p>';
}
else {
$manager = new imageManager($db);
$deleteImageData = $manager->deleteImageData($filename);
if(true === $deleteImageData) {
echo '<p class="msg_success">Le fichier a bien été supprimé.</p>';
}
else {
$message = $deleteImageData;
}
}
}
else {
$message = '<p class="msg_error">Le fichier image n\'existe pas.</p>';
}
if(file_exists($path_thumbs)) {
if(!unlink($path_thumbs)) {
$message = '<p class="msg_error">Une erreur est survenue lors de la supression du fichier vignette.</p>';
}
else {
$manager = new imageManager($db);
$deleteImageData = $manager->deleteImageData($filename);
if(true === $deleteImageData) {
echo '<p class="msg_success">Le fichier a bien été supprimé.</p>';
}
else {
$message = $deleteImageData;
}
}
}
else {
$message = '<p class="msg_error">Le fichier vignette n\'existe pas.</p>';
}
} |
admin/delete-image.php
Code:
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
|
<?php
require('../include/inc-connexion.php');
require('../include/inc-config.php');
require('../class/imageManager.php');
require('../process/process-delete-image.php');
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Suppression d'image</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div id="wrapper">
<h1>suppression d'image</h1>
<?php
if(isset($message)) echo $message
if(isset($message)) echo $message
?>
</div>
</body>
</html> |