Blog / Comments

Par aStunner, il y a 11 ans


Bonjour,
je suis entrain de faire mon portfolio avec un blog avec la possiblité de poster des commentaires si l'utilisateur est connecté

Je voudrais des conseils sur mon code, merci !

index.php

<?php require 'app/includes.php'; $title = ""; require 'partials/header.php'; // Récupération des news du blog $req = $db->prepare("SELECT * FROM blog ORDER BY date_post LIMIT 0,5"); $req->execute(); $setBlog = $req->fetchAll(); ?> <div class="page-header"> <h3> Mon Blog </h3> </div> <?php foreach($setBlog as $blog): ?> <div class="panel panel-default"> <div class="panel-heading"> <h3><?= $blog['title']; ?></h3> <p> Cet article a été publié par <i class="fa fa-user"></i> <?= $blog['author']; ?>, le <i class="fa fa-calendar"></i> <strong><?= $blog['date_post']; ?></strong> </p> </div> <div class="panel-body"> <p> <?= $blog['content']; ?> <a class="btn btn-default" href="blog.php?id=<?= $blog['id']; ?>"> <i class="fa fa-plus"></i> </a> </p> </div> <div class="panel-footer"> <a class="btn btn-social-icon btn-twitter" href=""> <i class="fa fa-twitter"></i> </a> <a class="btn btn-social-icon btn-facebook" href=""> <i class="fa fa-facebook"></i> </a> <a class="btn btn-social-icon btn-google-plus" href=""> <i class="fa fa-google-plus"></i> </a> <a class="btn btn-success" href=""> <i class="fa fa-thumbs-up"></i> J'aime </a> <a class="btn btn-danger" href=""> <i class="fa fa-thumbs-down"></i> Je n'aime pas </a> </div> </div> <?php endforeach; ?> <?php require 'app/debug.php'; require 'partials/footer.php'; ?>

blog.php

<?php require 'app/includes.php'; $title = ""; require 'partials/header.php'; // Récupération de la news $id = $_GET['id']; $req = $db->prepare("SELECT * FROM blog WHERE id = $id"); $req->execute(); $setNews = $req->fetch(); if(!$setNews) { setFlash('Cet article n\'existe pas !', 'danger'); } ?> <?php if($setNews): ?> <div class="page-header"> <h3> <?= $setNews['title']; ?> </h3> <p> Cet article a été publié par <i class="fa fa-user"></i> <?= $setNews['author']; ?>, le <i class="fa fa-calendar"></i> <strong><?= $setNews['date_post']; ?></strong> </p> </div> <p> <?= $setNews['content']; ?> </p> <a class="btn btn-social-icon btn-twitter" href=""> <i class="fa fa-twitter"></i> </a> <a class="btn btn-social-icon btn-facebook" href=""> <i class="fa fa-facebook"></i> </a> <a class="btn btn-social-icon btn-google-plus" href=""> <i class="fa fa-google-plus"></i> </a> <a class="btn btn-success" href=""> <i class="fa fa-thumbs-up"></i> J'aime </a> <a class="btn btn-danger" href=""> <i class="fa fa-thumbs-down"></i> Je n'aime pas </a> <?php endif; // Récupération des commentaires $req = $db->prepare("SELECT * FROM commentaires WHERE id = $id"); $req->execute(); $setComments = $req->fetch(); if($setComments): ?> <hr /> <div class="panel panel-default"> <div class="panel-heading"> <h3><?= $setComments['title']; ?></h3> <p> Cet article a été publié par <i class="fa fa-user"></i> <?= $setComments['author']; ?>, le <i class="fa fa-calendar"></i> <strong><?= $setComments['date_post']; ?></strong> </p> </div> <div class="panel-body"> <p> <?= $setComments['content']; ?> </p> </div> <div class="panel-footer"> <a class="btn btn-success" href=""> <i class="fa fa-thumbs-up"></i> J'aime </a> <a class="btn btn-danger" href=""> <i class="fa fa-thumbs-down"></i> Je n'aime pas </a> </div> </div> <?php if(isset($_SESSION['Auth']['id'])): ?> <a class="btn btn-default btn-lg btn-block" href="commentaires.php?id=<?= $id; ?>"> <i class="fa fa-pencil"></i> Poster un commentaire </a> <?php endif; ?> <?php endif; ?> <?php require 'app/debug.php'; require 'partials/footer.php'; ?>

8 réponses

connected, il y a 11 ans

Bonjour,

le code est propre, bien compartimenté (traitement/affichage). Je relève peut être un problème : que se passe t-il si l'utilisateur tape directement l'adresse "commentaires.php?id=4" dans sa bare d'adresse ?

A+
Bon continuation

connected, il y a 11 ans

Je suis persuadé que son session_start() est dans le "app/includes.php" :)

aStunner, il y a 11 ans

Pour répondre à connected, si l'utilisateur rentre l'url il sera redirigé sur la news avec l'id si elle existe pas on lui retourne une erreur

aStunner, il y a 11 ans

Pour Cyrien G, j'essaie de mettre en place un systeme en "brut" et ensuite tout passer en mvc :)
De plus si quelqu'un pourrait m'aider pour les url

je voudrais une url comme ceci : www.monsite.fr/blog.php/slug
cependant je n'arrive pas j'obtiens : blog.php?id=1 car je n'arrive pas à vérifier le slug

connected, il y a 11 ans

Ce n'etait pas vraiment ma question, en même temps si je m'exprime mal, lool. Ma question c'est : est-ce que tu verifie sur la page commentaires si l'utilisateur est bien connecté ?

aStunner, il y a 11 ans

je n'ai pas fais la page de commentaires (où on post) mais oui je le vérifirais

betaWeb, il y a 11 ans

D'accord, mais je te conseille de commencer par le MVC directement, tu risques de t'emmêler les pinceaux sinon ^^

Pour tes routes, il te faudrait passer directement par le slug 'blog.php?slug=toto" (et donc lors de ta requête en BDD, faire ton WHERE sur le slug et on l'ID ;) )