Afficher un topic de notre forum


Dans notre dossier f_forum, nous allons créer une nouvelle page topic.php. Cette page affichera le topique créé par un de vos utilisateur.


Nous allons également modifier notre fichier .htaccess afin d'appliquer l'URL souhaitée pour récupérer l'identifiant de la catégorie et l'identifiant du topique.


Fichier .htaccess


RewriteRule ^forum/([0-9]+)/([0-9]+)$ f_forum/topic?id_forum=$1&id_topic=$2


Ensuite dans notre page topic.php nous allons afficher le topique de qui est stocké dans la table topic.


Page topic.php


<?php
  session_start();
  include('../bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD  
  // Récupération de l'id de la catégorie
  $get_id_forum = (int) trim(htmlentities($_GET['id_forum'])); 
  // Récupération de l'id du topic
  $get_id_topic = (int) trim(htmlentities($_GET['id_topic']));
  // Si l'une des variables est vide alors on redirige vers la page forum
  if(empty($get_id_forum) || empty($get_id_topic)){
    header('Location: /forum');
    exit;
  }
  // On va sélectionner les informations nécessaire pour afficher notre topic
  $req = $DB->query("SELECT t.*, DATE_FORMAT(t.date_creation, 'Le %d/%m/%Y à %H\h%i') as date_c, U.prenom
    FROM topic T
    LEFT JOIN utilisateur U ON U.id = T.id_user
    WHERE t.id = ? AND t.id_forum = ?
    ORDER BY t.date_creation DESC", 
    array($get_id_topic, $get_id_forum));
  $req = $req->fetch();
  
  if(!isset($req['id'])){
    header('Location: /forum/' . $get_id_forum);
    exit;
  }  
?>
<!DOCTYPE html>
<html>
  <head>
    <base href="/"/>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
    <title>Topic</title>
    <link rel="stylesheet" href="../css/bootstrap.min.css"/>
    <link rel="stylesheet" href="../css/style.css"/>
  </head>
  <body>
    <?php
      require_once('../menu.php');    
      ?>
      <div class="container">
        <div class="row">   
          <div class="col-sm-0 col-md-0 col-lg-0"></div>
          <div class="col-sm-12 col-md-12 col-lg-12">
            <h1 style="text-align: center">Topic : <?= $req['titre'] ?></h1>
            <div style="background: white; box-shadow: 0 5px 15px rgba(0, 0, 0, .15); padding: 5px 10px; border-radius: 10px">
              <h3>Contenu</h3>
              <div style="border-top: 2px solid #eee; padding: 10px 0"><?= $req['contenu'] ?></div>
              <div style="color: #CCC; font-size: 10px; text-align: right">
                <?= $req['date_c'] ?>
                par 
                <?= $req['prenom'] ?>
              </div>              
            </div>
          </div>
        </div>
      </div>
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
    <script src="../js/bootstrap.min.js"></script>
  </body>
</html>
4248 vues
Modifié le 26 février 2019
Publicité Sitedudev
Cette pub permet au site de vivre ...
Vidéo associée
Publicité Sitedudev
Cette pub permet au site de vivre ...
Télécharger le code source
Publicité
Cette pub permet au site de vivre ...
Voir d'autres articles
1 473 vues
Utilisation de la propriété display pour contrôler le type d'affichage des éléments
La propriété display en CSS permet de contrôler le type d'affichage d'un élément. Elle détermine comment l'élément est rendu dans le flux de la page. Il existe plusieurs valeurs pour la...
CSS
2 245 vues
Comprendre la syntaxe pour insérer des données dans des colonnes spécifiques ou dans toutes les colonnes
1. Insertion de Données dans Toutes les Colonnes :Pour insérer des données dans toutes les colonnes d'une table, voici la syntaxe générale :INSERT INTO nom_de_la_table VALUES (valeur_colonne1,...
SQL
4 650 vues
Créer sa première page
Attention ! ⚠️ À partir de ce cours je ne détaillerais plus comme le cours précédent.À la place il sera expliqué ce que la vidéo va vous apporter et .. comme toujours le code sera...
Créer son site de rencontres
4 740 vues
Afficher la liste des topics
Dans notre dossier f_forum, nous allons créer une nouvelle page sujet.php. Cette page affichera la liste des topiques créer par les utilisateurs de votre site en fonction de la catégorie...
Créer son site
1 939 vues
Explorer les fonctions de manipulation de couleur, de texte, etc.
Exploration des fonctions de manipulation en SASS1. Manipulation de couleurs :SASS propose un ensemble de fonctions intégrées pour manipuler les couleurs. Vous pouvez ajuster la luminosité, la...
Sass
674 vues
Déclarations CSS : comment les combiner pour styliser les éléments
Déclarations CSS : Comment les combiner pour styliser les élémentsLes déclarations CSS sont des instructions individuelles qui spécifient le style des éléments HTML sur une page Web. Elles...
CSS
1 966 vues
Demande d'amis en PHP (3/3)
Pour cette troisième vidéo nous allons revoir notre système afin de conserver le statut de la relation lorsqu'on bloque et débloque un utilisateur.
Créer son site de rencontres
1 998 vues
Afficher les messages dans l'ordre
Dans cette vidéo on va personnaliser (un peu) l'interface des conversations avec du CSS.Nous allons également remettre les messages dans l'ordre et lors de la réception du message par le...
Créer son site de rencontres
Publicité
Cette pub permet au site de vivre ...