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>
4694 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
4 896 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
5 387 vues
Ajout d'images avec <img> et attributs src, alt et width
Ajout d'images avec <img> et attributs src, alt et widthLa balise <img> est utilisée pour afficher des images dans une page HTML. Elle nécessite l'utilisation de certains attributs pour...
HTML
975 vues
Qu'est-ce que PHP ?
Introduction à PHPPHP, acronyme de "Hypertext Preprocessor", est un langage de programmation côté serveur très populaire, principalement utilisé pour développer des sites Web dynamiques et...
PHP
657 vues
Les callbacks
Les Callbacks en JavaScriptLes callbacks sont des fonctions passées en tant qu'arguments à d'autres fonctions, qui seront exécutées ultérieurement ou de manière asynchrone. Les callbacks sont...
JS
3 360 vues
Comment faire connaitre son site ?
L'un des derniers points qui n'est pas sans conséquence est la promotion de son site après l'avoir mis en ligne sur un hébergeur (OVH, 1and1, Hostinger, etc.).L'une des questions que...
Créer son site
828 vues
Modification du contenu et des styles
Modification du Contenu et des Styles des Éléments HTML en JavaScriptLa modification du contenu et des styles des éléments HTML est une tâche courante en développement web. Cela permet de...
JS
1 161 vues
Définition et but
Le fichier .htaccess est un outil puissant utilisé sur les serveurs web Apache pour configurer et contrôler divers aspects d'un site web. Son nom provient de "HyperText Access", ce qui signifie...
HTACCESS
4 095 vues
Définir l'encodage de caractères avec <meta charset="utf-8">
Définir l'encodage de caractères avec <meta charset="utf-8">L'encodage de caractères définit la correspondance entre les caractères et les valeurs binaires utilisées par l'ordinateur....
HTML
Publicité
Cette pub permet au site de vivre ...