**Bonjour,

J'ai télécharger un script de commentaire, je l'ai ensuite installé en local, il fonctionne bien mais le problème c'est que les commentaires sont les même pour toutes les articles et donc toutes les pages.
Par exemple si je veux laisser un commentaire sur un article, il va ce mettre aussi une l'article d'une autre page. Or moi je souhaite que les commentaires soit approprié à un seul page et qu'il ne ce répète pas sur les autres page.

Voici le code PHP:

<u>Index</u>:**

<h4>Les commentaires</h4>
<?php
$reponse = $bdd->query('SELECT COUNT(id) AS nbCom FROM commentaires');
$donnees = $reponse->fetch();
$nbCom = $donnees'nbCom'];
$nbPage = ceil($nbCom/$perPage);
if(isset($_GET'p']) && $_GET'p'] > 0 && $_GET'p'] <= $nbPage) {
$cPage = $_GET'p'];
}
else {
$cPage = 1;
}
$reponse->closeCursor();
$reponse = $bdd->query('SELECT * FROM commentaires ORDER BY date DESC LIMIT '.(($cPage-1)*$perPage).', '.$perPage.'');
while ($donnees = $reponse->fetch()) {
echo '<p>Posté par '.$donnees'pseudo'].' le '.date("d-m-Y", strtotime($donnees'date'])).' :<br />'.$donnees'commentaire'].'</p>'."\n";
}
$reponse->closeCursor();
for($i = 1; $i <= $nbPage; $i++) {
if($i == $cPage) {
echo ''.$i.' ';
}
else {
echo '<a href="index.php?p='.$i.'">'.$i.'</a> ';
}
}
?>
<h4>Ajouter un commentaire</h4>
<form method="post" action="./traitement.php">
<p>Pseudo :<br /><input type="text" name="pseudo" /></p>
<p>Commentaire :<br /><textarea cols="50" rows="6" name="commentaire"></textarea></p>
<p><input type="submit" name="submit" value="Valider" /></p>
</form>

<u>Code du traitement:</u>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Commentaires</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
if(isset($_POST'submit'])) {
if(empty($_POST'pseudo']) || empty($_POST'commentaire'])) {
echo '<p style="color:red;">Veuillez compléter tous les champs obligatoires.</p>'."\n";
}
elseif(strlen($_POST'pseudo']) > $pseudo_max) {
echo '<p style="color:red;">Pseudo trop grand.</p>'."\n";
}
elseif(strlen($_POST'commentaire']) > $commentaire_max) {
echo '<p style="color:red;">Commentaire trop grand.</p>'."\n";
}
else {
$req = $bdd->prepare('INSERT INTO commentaires (pseudo, commentaire) VALUES(:pseudo, :commentaire)');
$req->execute(array(
'pseudo' => $_POST'pseudo'],
'commentaire' => $_POST'commentaire']
));
echo '<p style="color:green;">Commentaire posté avec succès !</p>'."\n";
}
}
else {
echo '<p style="color:red;">Formulaire non soumis.</p>'."\n";
}
?>
<p><a href="../"> Retour ]</a></p>
</body>
</html>

Merci d'avance pour votre aide.

Cordialement

3 réponses


marrtin
Réponse acceptée

Oula, ne te lance pas sans rien comprendre l'ami fin c'est un conseil que je te donne sérieusement parce qu'une fois ton site lancé tu va nagé en pleine galère. Si vraiment ta la passion de la programmation "web" commence les tutos (vidéos par ex') et entraîne toi à faire quelques petits scripts, à bien comprendre et ensuite lance toi dans un site. Mais téléchargé un script de commentaire avec des fonctions plus au moins complexe c'est dangereux. Après ce n'est que mon avis personnel, mais étant débutant dans le domaine depuis 6 mois je sais de quoi je parle.

Tu dois dans ta requête pour afficher faire un "WHERE id(du commentaire)=$_GET'id(article)']"

Donc quand tu ajoutes un commentaire tu dois ajouter un champs "id_article" pour que le commentaire corresponde à l'article.

Bonjour,
Merci de votre réponse, mais je ne comprend pas très bien car pour moi la PHP est du chinois.
Si j'ai télécharger le script c'est que justement je ne c'est pas coder en PHP.

Vous ne pourrez pas me dire concrètement ce qu'il faut changer dans le script SVP?

Merci