function afficherCommentaires($idBillet) { // On demande les les modèle qui vont bien include_once 'modele/billetsModele.php'; include_once 'modele/commentairesModele.php'; $billets = get_billet($idBillet); // On effectue du traitement sur les données (contrôleur) // Ici, on doit surtout sécuriser l'affichage foreach ($billets as $cle => $sujet) { $billets[$cle]['titre'] = htmlspecialchars($sujet['titre']); $billets[$cle]['contenu'] = nl2br(htmlspecialchars($sujet['contenu'])); $billets[$cle]['auteur'] = htmlspecialchars($sujet['auteur']); } //Idem pour les commentaires $commentaires = get_commentaires($idBillet); foreach ($commentaires as $cle => $commentaire) { $commentaires[$cle]['auteur'] = htmlspecialchars($commentaire['auteur']); $commentaires[$cle]['commentaire'] = nl2br(htmlspecialchars($commentaire['commentaire'])); } //On récupère le nombre de commentaire $nbCommentaires = get_nbCommentaires($idBillet); //On renseigne la page de retour à afficher $pageRetour = $_SERVER['HTTP_REFERER']; // On affiche la page (vue) include_once 'vue/commentairesVue.php'; }
break; case 'commentaires': //Recupérer les données de la basse de données (modèle) include "modele/get_commentaires.php"; $commentaires = get_commentaires(); if (!$commentaires) { echo "il ya aucun commentaire"; } else { // Afficher le sujet include "modele/get_one_sujet.php"; $sujets = get_one_sujet(); // afficher les sujets du forum (vue) include "vue/afficher_sujets.php"; // afficher les commentaires du sujet (Modele) include "vue/afficher_commentaires.php"; } //Afficher le formulaire pour l'ajout des données (vue) include "vue/form_commentaire.php"; break; case 'add_commentaire': //Ajouter les données dans la base de données (modèle) include "modele/add_commentaire.php"; //Recupérer les données de la basse de données (modèle) include "modele/get_commentaires.php"; $commentaires = get_commentaires(); // afficher les sujets du forum (Modele) include "vue/afficher_commentaires.php"; //Afficher le formulaire pour l'ajout des données (vue) include "vue/form_commentaire.php"; break; }
//On calcul le nombre de page $max_entry_page = 5; $nb_page = ceil($total_entry / $max_entry_page); //On definit numéros de la page if (isset($_GET['page'])) { $actual_page = (int) $_GET['page']; if ($actual_page >= $nb_page) { $actual_page = $nb_page; } if ($actual_page <= 0) { $actual_page = 1; } } else { $actual_page = 1; } //On definit la premiere entree de la page $offset = ($actual_page - 1) * $max_entry_page; //On demande les 5 derniers billets (modèle) include_once 'modele/commentaires/get_commentaires.php'; $commentaires = get_commentaires($offset, $max_entry_page, $id); //On effectue du traitement sur les données (controleur) //Ici, on doit surtout sécuriser l'affichage //Avec foreach ici on crée un clone du tableau qui aura des valeurs sécurisées par htmlspecialchars foreach ($commentaires as $cle => $commentaire) { $commentaires[$cle]['pseudo'] = htmlspecialchars($commentaire['pseudo']); $commentaires[$cle]['commentaire'] = nl2br(htmlspecialchars($commentaire['commentaire'])); } //On affiche la page(vue) include_once 'vue/commentaires/commentaires.php'; include_once 'pagination.php'; }
<?php include 'lib/user.php'; include 'lib/PDO.php'; if (!empty($_POST['action']) && $_POST['action'] == 'ajout') { include_once 'modele/news/ajout_commentaire.php'; ajout_commentaire($_POST['message'], $_GET['news'], $_POST['id_auteur'], $_POST['nom_auteur']); } //On on recupere la news qui nous interesse include_once 'modele/news/get_particular_news.php'; $particular_news = get_particular_news($_GET['news']); //On recupere les commentaires correspondants a la news include_once 'modele/news/get_commentaires.php'; $commentaires = get_commentaires($_GET['news']); //affichage de la news, commentaires + formulaire ajout commentaires include 'vue/news/news.php';