[RESOLU] systeme Validation des commentaires

Eléphant du PHP | 88 Messages

04 déc. 2020, 19:33

Bonjour à tous ! Je fais un blog en MVC orienté Objet pour ma formation. J'ai cherché sur le net et ici pour arriver à faire une validation des commentaires de mes posts. Pour l'instant j'ai chaque commentaire qui s'enregistre sur ma page post (seul) j'ai fait un formulaire pour cela: j'espere pouvoir etre claire ( navree si je loupe) . voici le code de ma page POST show.php :

MON POST (seul)
<h2><?= e($post->getName()) ?></h2>
          <p class="text-muted">Le <?= $post->getCreatedAt()->format('d F Y H:i') ?></p>

          <h5 class="post-subtitle">Chapo:<br>
            <?= e($post->getChapo()) ?>
            <hr>
          </h5>

          <?php if ($post->getImage()) : ?>

            
              <div class="text-center">
                <img src="<?= $post->getImageURL('large') ?>" alt="image" style="width: 780px;">
              </div>
            
          <?php endif ?>
          <p class="post-subtitle"> Sujet:<br></p>

          
          <blockquote class="blockquote">
            <?= $post->getFormattedContent() ?>

          </blockquote>

          Auteur(e) du post : <?= e($post->getAuthor()) ?><br>
          Le: <?= $post->getCreatedAt()->format('d F Y H:m') ?>
          <hr>

          <div class="box">
            <div class="d-flex justify-content-center">
              <button class="btn btn-secondary text-white"><?php echo count($comments); ?> commentaires à consulter  <span class="badge badge-secondary"></span></button>
            </div> <br>
            <hr>
              <div class="bg-secondary">       
                <div class="card">
                  <div class="card-body">
      
                    <blockquote class="blockquote_post">
                    <?php foreach ($comments as $comment) {?> 
                    <br><hr>
                    <?= $comment->getContent(); 
                
                    ?><br>
                    Ecrit par : <?= e($comment->getAuthor()) ?><br>
                    Le : <?= $comment->getCreatedAt()->format('d M Y H:m') ?>
                    <?php } ?>
                    </blockquote>
                  </div>
                </div>
              </div>
          </div>
MON FORMULAIRE POUR MES COMMENTAIRES
          <div class="card" id=form_comment>
            <h4 align="center">  Ecrire un commentaire : </h4><br>
            <form action="/blog/<?php echo e($post->getSlug()); ?>-<?php echo e($post->getId()); ?>/comments" method="POST">
              <div>
                <label for="name">Auteur:</label>
                <input type="text" id="name" name="author">
              </div>
              
              <div>
                <label for="msg"> Votre message : </label>
                <textarea id="msg" name="content"></textarea>
              </div>
              <div class="d-flex justify-content-center">
              
                <button type="submit"> Envoyer LE MESSAGE</button><br>
              </div> </div>  </div></div> </div>
        </form>
      </div>
          <?php
je n'arrive pas à faire une requête update (ce que j'ai trouvé date de 2007) pour faire un truc +1 je sais pas ! et puis comment? ou? pas sur la page donc sur une autre page admin? pour l'instant j'ai une page admin qui me permet de supprimer modifier créer un POST mais je peux pas mettre mes posts au meme endroit? un par un? je dis cela car si j'en ai 10 qui arrivent : je vais pas avoir d'affiché les 10 posts? enfin je n'y arrive pas je suis bien coincée!! avez vous une astuce simple pour moi? merci bcp belle soiree

Avatar du membre
Mammouth du PHP | 1564 Messages

06 déc. 2020, 17:42

Gné!

Tu souhaites avoir une page d'administration qui regroupe les dix derniers commentaires qui sont à valider, c'est bien ça ?

Eléphant du PHP | 88 Messages

08 déc. 2020, 13:00

je souhaite pouvoir proceder à une validation avant que le commentaire soit sur le post ! j'ai deja un coté admin! pour les posts

Avatar du membre
Mammouth du PHP | 1564 Messages

08 déc. 2020, 13:58

il te faut un champ que tu nomme "actif" (ou autrement) avec par defaut la valeur 0 (non actif) pour savoir si tu peux afficher ou non ce post
Ensuite dans ton admin quand tu valide un post, tu passe le champs actif à 1 pour que le post s'affiche là où tu le souhaite

Eléphant du PHP | 88 Messages

13 déc. 2020, 16:06

ok merci j'ai fait cela dans ma table ,, j'ai ajouté une colonne 0 et 1 merci

Bon en revanche je dois donc faire une page qui va regrouper tous les commentaires d' un post car je vois pas comment faire autrement ! trop dur pour moi que de faire une page avec tous les commentaires et apres avoir que quel poste il est attaché ! je vais ajouter un bouton sur ma page liste des posts : voir comments et qui ferait ouvrir la liste des comments de ce post ! je vais creer ma route ensuite mes controllers et ma vue !! je vais essayé !

Petit nouveau ! | 5 Messages

14 déc. 2020, 11:49

Personnellement, je ferai ainsi :

Phase 1 : Je récupère les ID des article et leur titre... que je met en variable.

Phase 2 : Je prendre la variable de l'ID de l'article pour trier les commentaire non valider que j'affiche, lier au titre de ceci.

Je prévois de lier l'affichage à un formulaire qui permet de valider ou non le commentaire qui n'ont pas été encore administré.


Ainsi, dans le back office j'ai alors, trier par article tous les commentaires non encore validé.

Voir, tu peux aussi créer un second formulaire pour les supprimer ou les modérer....

Eléphant du PHP | 88 Messages

15 déc. 2020, 20:51

Oui ok merci je pense faire uniquement validation : approuvé ou pas car je suis pas assez doué ! merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 déc. 2020, 11:10

Salutations !

Une petite remarque au passage, il est préférable d'utiliser les balises php "<?php echo ..." plutôt que les short tags "<?= ...".

L'interprétation des shorts tags dépend de la configuration du serveur. Si celle-ci change ou si tu changes de serveur, il se peut qu'elles ne soient plus interprétées et que ton script ne fonctionne plus. Elles peuvent aussi entrer en conflit avec les balises d'autres langages comme le XML qui commence lui aussi par "<?"...

Bref, c'est un poil plus contraignant d'utiliser "<?php", mais c'est plus explicite et évite parfois bien des problèmes ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 88 Messages

21 déc. 2020, 16:45

ok merci je le note