Modification de commentaire dans une architecture MVC
Posté : 07 août 2019, 17:51
Bonjour,
Ca fait des jours que j'essaye d'ajouter la possibilité de modifié les commentaires dans un miniblog, tout ça dans une architecture MVC.
Cependant au submit du formulaire sur le commentaire que je dois modifié une page blanche s'affiche sans erreur, mais si j'enlève un point virgule les erreurs s'affichent bien.
Les echo 0 et 1 dans mon routeur me sont bien retournés au submit du formlulaire, mais à part ça j'ai toujours ma page blanche et la modification ne se fait pas non plus.
Mon controller :
Mon model :
La vue de mon formulaire :
Le bouton modifier dans la vue d'un post :
Et mon routeur :
J'ai mis que les éléments dont je me sers pour modifié le commentaire, pas le code en entier.
Voila, si vous aviez une piste je suis preneur! Merci d'avance !
Ca fait des jours que j'essaye d'ajouter la possibilité de modifié les commentaires dans un miniblog, tout ça dans une architecture MVC.
Cependant au submit du formulaire sur le commentaire que je dois modifié une page blanche s'affiche sans erreur, mais si j'enlève un point virgule les erreurs s'affichent bien.
Les echo 0 et 1 dans mon routeur me sont bien retournés au submit du formlulaire, mais à part ça j'ai toujours ma page blanche et la modification ne se fait pas non plus.
Mon controller :
Code : Tout sélectionner
function editComment($id, $postId)
{
$commentManager = new \TPBLOG\Model\CommentManager();
$affectedComment = $commentManager->updateComment($id, $postId);
return $affectedComment;
}
Code : Tout sélectionner
public function updateComment($id, $postId)
{
$db = $this->dbConnect();
$req = $db->prepare('UPDATE comments SET comment = ?, comment_date = NOW() WHERE id = ?');
$newComment = $req->execute(array($id, $postId));
return $newComment;
}
Code : Tout sélectionner
<?php $title = 'Minibog - Edition commentaire'; ?>
<?php ob_start(); ?>
<h1>Mon super blog !</h1>
<p><a href="index.php">Retour à la liste des billets</a></p>
<h2><?php echo 'Commentaire de ' . $comment['author'] . ', le ' . $comment['comment_date']; ?></h2>
<form action="index.php?action=editComment&id=<?= $comment['id'] ?>&postId=<?= $comment['post_id'] ?>" method="post">
<div>
<label for="author">Auteur</label><br />
<input type="text" id="author" name="author" value="<?php echo htmlspecialchars($comment['author']); ?>" />
</div>
<div>
<label for="comment">Commentaire</label><br />
<textarea id="comment" name="comment">
<?php echo nl2br(htmlspecialchars($comment['comment'])); ?>
</textarea>
</div>
<div>
<input type="submit" />
</div>
</form>
<?php $content = ob_get_clean(); ?>
<?php require('template.php'); ?>
Code : Tout sélectionner
<a href="index.php?action=edit&post_id=<?= $post['id'] ?>&comment_id=<?= $comment['id'] ?>">modifier</a> <br><br>
Code : Tout sélectionner
elseif ($_GET['action'] == 'editComment') {
echo "0";
if (!empty($_GET['id']) && !empty($_GET['postId'])) {
echo "1";
editComment($_GET['id'], $_GET['postId']);
} else {
throw new Exception('Tous les champs ne sont pas remplis !');
}
}
Voila, si vous aviez une piste je suis preneur! Merci d'avance !