From c193e4b9ef0e052186427726c5fd53b08186de85 Mon Sep 17 00:00:00 2001 From: vbochet <vbochet@gmail.com> Date: Thu, 5 May 2016 01:10:21 +0200 Subject: [PATCH] =?UTF-8?q?Modification=20du=20mod=C3=A8le=20et=20du=20con?= =?UTF-8?q?tr=C3=B4leur=20de=20jeu=20pour=20g=C3=A9rer=20les=20cas=20de=20?= =?UTF-8?q?demande=20d'affichage=20d'un=20jeu=20inexistant=20en=20BDD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/JeuController.php | 9 +++++++-- app/model/Jeu.php | 11 +++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/controller/JeuController.php b/app/controller/JeuController.php index 220d7a0..275b339 100644 --- a/app/controller/JeuController.php +++ b/app/controller/JeuController.php @@ -3,8 +3,13 @@ class JeuController extends Controller { public function display() { $slug = $this->route["params"]["slug"]; //cf. le commentaire dans ProfilController.php - $this->view->jeu = Jeu::getFromSlug($slug); - $this->view->display(); + if(in_array($slug, Jeu::getSlugList())) { // si le nom du jeu cherché est dans notre BDD, on peut l'afficher + $this->view->jeu = Jeu::getFromSlug($slug); + $this->view->display(); + } + else { + header('Location:'.BASE_URL.'/404'); + } } public function displayListe() { diff --git a/app/model/Jeu.php b/app/model/Jeu.php index 4590ba4..d16773f 100644 --- a/app/model/Jeu.php +++ b/app/model/Jeu.php @@ -21,6 +21,17 @@ class Jeu extends Model { } + public static function getSlugList() { + $db = Database::getInstance(); + $sql = "SELECT slug FROM R_jeu"; + $stmt = $db->query($sql); + $return = array(); + while($elt = $stmt->fetch()) { + array_push($return, $elt['slug']); + } + return $return; + } + public static function checkExists($slug_jeu) { // méthode permettant de vérifier si un jeu existe dans la BDD $db = Database::getInstance(); // on récupère la connexion à la BDD $sql = "SELECT * FROM R_jeu WHERE slug = :slug"; -- GitLab