Bonjour, j'ai suivi un tuto, en local, et tout ce passe bien sauf sur un point, et d’ailleurs qu'il n'explique pas dans ses videos....

En gros, j'ai une liste d'items classé par nom, description, prix, categories et actions, je peux via une autre page modifier les champs comme bon me semble, chaque items possèdent aussi une photo, que je peux changer, ou bien la supprimer.

Donc, quand je clique sur supprimer, il me redirige vers une page avec en URL l'id de la ligne dans la base de donnée, de type :
alors ça retire bien l'item de son emplacement sur le site, ainsi que sur la base de donnée, mais le problème c'est qu'il me garde l'image dans le dossier ../images/nomdelimage.jpg

ma commande qui devrait l'effacer est comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
unlink('../images/' . $image . '.' . jpg);
Il ne trouve donc forcement pas la variable $image, et c'est de ça que j'ai besoin pour pouvoir supprimer l'image dans le dossier, en gros la variable $image retournerai 18.jpg (la photo qui est dans ma base de donnée dans le champ 'image')

Le problème c'est que je ne sais pas comment récuperer le champ "image" de ma base de donnée, et donc l'image (18.jpg par exemple) correspondant à l'id (donc l'id qui apparait dans l'URL quand je vais sur ma page supprimer.

Pouvez vous m'aider ?

Voici la page delete.php , je ne vais pas mettre les autres pages car il y en a trop, sauf si vous en avez besoin.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
62
63
64
65
<?php 
session_start();
require 'database.php';
include '../flash.php';
 
if(!empty($_GET['id'])) {
	$id = checkInput($_GET['id']);
}
 
if(!empty($_POST)) {
	$id = checkInput($_POST['id']);
	$db = Database::connect();
	unlink('../images/' . $image . '.' . jpg);
	$statement = $db->prepare("DELETE FROM items WHERE id = ?");
	$statement->execute(array($id));
	Database::disconnect();
	setFlash('Votre item à bien été supprimé !');
	header('Location: index.php');
}
//var_dump('../images/' . $image . '.' . jpg);
 
function checkInput($data) {
	$data = trim($data);
	$data = stripslashes($data);
	$data = htmlspecialchars($data);
	return $data;
}
 
?>
 
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <link rel="stylesheet" href="../css/style.css">
  <link href='http://fonts.googleapis.com/css?family=Holtwood+One+SC' rel='stylesheet' type='text/css'>
 
 
</head>
<body>
 
 
	<h1 class="text-logo"><span class="glyphicon glyphicon-cutlery"></span> Burger Code <span class="glyphicon glyphicon-cutlery"></span></h1>
		<div class="container admin">
			<div class="row">
					<h1><strong>Supprimer un item ?</strong></h1>
					<br>
					<form class="form" role="form" action="delete.php" method="POST"> <!-- ACTION SUR LA MEME PAGE -->
						<input type="hidden" name="id" value="<?= $id ?>" />
						<p class="alert alert-warning">Etes vous sur de vouloir supprimer ?</p>
					<div class="form-actions">
						<button type="submit" class="btn btn-warning"></span> OUI</button>
						<a href="index.php" class="btn btn-default"></span> NON</a>
					</div>
					</form>
			</div>
		</div>
 
</body>
</html>