Poster des commentaires sur vos articles


Nous allons reprendre la page voir_article.php afin d'ajouter un formulaire qui permettra d'écrire un commentaire pour participer à l'article.


Page voir_article.php


Côté PHP


<?php
  /*
    ...
    Code précédent
    ...
  */
    if(!empty($_POST)){
    extract($_POST);
    $valid = true;
 
    if (isset($_POST['ajout-commentaire'])){
      $text  = (String) trim($text); 
      if(empty($text)){
        $valid = false;
        $er_commentaire = "Il faut mettre un commentaire";
      }elseif(iconv_strlen($text, 'UTF-8') <= 3){
        $valid = false;
        $er_commentaire = "Il faut mettre plus de 3 caractères";
      }
 
      $text = htmlentities($text);
 
      if($valid){
        $date_creation = date('Y-m-d H:i:s');
        $DB->insert("INSERT INTO blog_commentaire (id_user, id_blog, text, date_creation) VALUES (?, ?, ?, ?)", 
          array($_SESSION['id'], $get_id, $text, $date_creation));
          header('Location: /blog/' . $get_id);
          exit; 
      }
    }
  }
?>


Côté HTML


<!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>Blog : <?= $req['titre'] ?></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" style="margin-top: 20px">  
        <div class="col-sm-12 col-md-12 col-lg-12">
          <!-- 
            ...
            Code précédent 
            ...
          -->     
          <?php
            if(isset($_SESSION['id'])){
          ?>
          <div style="background: white; box-shadow: 0 5px 15px rgba(0, 0, 0, .15); padding: 5px 10px; border-radius: 10px; margin-top: 20px">
            <h3>Participer à l'article</h3>
            <?php
              /* S'il y a une erreur sur le nom alors on affiche */
              if (isset($er_commentaire)){
            ?>
            <div class="er-msg"><?= $er_commentaire ?></div>
            <?php   
              }
            ?>
            <form method="post">
              <div class="form-group">
                <textarea class="form-control" name="text" rows="4" placeholder="Écrivez-votre commentaire ..."></textarea>
              </div>
              <div class="form-group">
                <button class="btn btn-primary" type="submit" name="ajout-commentaire">Envoyer</button>
              </div>
            </form>
          </div>
          <?php
            }   
          ?>       
          <div style="background: white; box-shadow: 0 5px 15px rgba(0, 0, 0, .15); padding: 5px 10px; border-radius: 10px; margin-top: 20px">
            <h3>Commentaires</h3>
            <?php
              foreach($req_commentaire as $rc){ 
            ?>  
            <div style="background: #eee; margin-top: 20px; padding: 5px 10px; border-radius: 10px">
              <div style="font-weight: bold"><?= "De " . $rc['nom'] . " " . $rc['prenom']  . " : "?></div>
              <?= nl2br($rc['text']) ?>
              <div style="text-align: right; font-size: 12px; color: #665"><?= $rc['date_c'] ?></div>
            </div>
            <?php
              }
            ?>
          </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>
4739 vues
Modifié le 18 novembre 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 585 vues
Flexbox : créer des mises en page flexibles et responsives
Flexbox : Créer des Mises en Page Flexibles et ResponsivesFlexbox est une méthode de disposition en CSS qui permet de créer des mises en page flexibles et responsives. Il offre un contrôle...
CSS
7 604 vues
Comment développe-t-on un site ?
Je suppose que si vous lisez ceci c'est que vous n'avez peut-être jamais développé auparavant et que vous souhaitez apprendre à développer votre premier site web.Si je vous parle...
Créer son site
3 189 vues
Personnaliser sa bare de menu avec du CSS
Après avoir modifié notre barre de menu nous allons maintenant personnaliser notre barre de menu avec du CSS afin de la rendre plus agréable à regarder.Nous allons pour ça ajouter un nouveau...
Créer son site de rencontres
1 260 vues
Utilisation des éléments de division <div> et <span> pour structurer le contenu
Utilisation des éléments de division <div> et <span> pour structurer le contenuLes balises <div> et <span> sont des éléments de division utilisés pour structurer et...
HTML
3 421 vues
Se connecter en PHP
Nous allons dans cette vidéo créer un formulaire PHP afin de nous connecter à notre site web.Pour cela nous allons utiliser la combinaison mail + mot de passe afin de nous connecter.Nous allons...
Créer son site de rencontres
12 713 vues
Barre de recherche : Ajax
À partir de maintenant nous allons développer notre script permettant de contacter une page et de l'exécuter afin d'afficher le résultat de notre saisie.Nous allons commencer par mettre cette...
Créer son site
2 800 vues
Demande d'amis en PHP (2/3)
Dans cette deuxième vidéos nous allons développer notre système de relation d’amitié afin de faire apparaître les bons boutons en fonction de l'état de la relation entre 2 membres.
Créer son site de rencontres
1 949 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
Publicité
Cette pub permet au site de vivre ...