-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupdateDishe.php
66 lines (58 loc) · 2.17 KB
/
updateDishe.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
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
66
<?php
session_start();
require_once('./libs/config.php');
require_once('./libs/utils.php');
require_once('./src/models/Dishe.php');
require_once('./src/models/DisheManager.php');
$errors = [];
$messages = [];
// Rendre la page 'admin.php' inaccessible si l'utilisateur n'est pas connecté OU si connecté en tant que 'client'
if (is_admin() == false) {
header('location: ./index.php');
}
$manager = new DisheManager();
// On fait d'abord les vérifications avant d'envoyer les modifications
if ($_POST) {
// Vérification si les champs sont définis et NON vides
if (
isset($_POST['id']) && !empty($_POST['id'])
&& isset($_POST['category']) && !empty($_POST['category'])
&& isset($_POST['title']) && !empty($_POST['title'])
&& isset($_POST['description']) && !empty($_POST['description'])
&& isset($_POST['price']) && !empty($_POST['price'])
) {
// On nettoie les données envoyées
$id = strip_tags($_POST['id']);
$category = strip_tags($_POST['category']);
$title = strip_tags($_POST['title']);
$description = strip_tags($_POST['description']);
$price = strip_tags($_POST['price']);
// traitement des données du formulaire
$newDishe = new Dishe();
$newDishe->setId($id);
$newDishe->setCategory($category);
$newDishe->setTitle($title);
$newDishe->setDescription($description);
$newDishe->setPrice($price);
$check = $manager->updateDishe($newDishe);
if ($check) {
// Message de confirmation
$messages[] = 'Votre plat à été modifié.';
} else {
$errors[] = 'Une erreur est survenue pendant la modification';
}
} else {
// Il manque des champs
$errors[] = 'Le formulaire est incomplet';
}
}
// Vérification si il y a bien une variable $id passée en GET et qu'elle n'est pas vide
if (isset($_GET['id']) && !empty($_GET['id'])) {
// "Nettoyage" l'Id envoyé
$id = strip_tags($_GET['id']);
$dishe = $manager->readDisheById($id);
} else {
// URL invalide
header('location: ./404.php');
}
require_once('./templates/dishe/updateDishe.php');