Bonsoir à tous,
Je suis entrain de faire un système de commentaire sur mon site, pour le moment je test sur mes news. J'affiche les commentaires et le formulaire d'ajout sur ma page news-view, qui elle charge les différentes news de ma bdd suivant leurs id (news-view.php?id=1 etc.).
Mes commentaires s'enregistre dans une table que j'ai nommée "commentaire" et qui contient 4 champs (j'en rajouterais d'autres par la suite), voici les différents champs :
ID, PSEUDO, MESSAGE, IDNEWS
Voici le code php pour les commentaires et le formulaire :
Enfaite, le problème c'est lors de l'affichage, les commentaires ne s'affiches pas sur ma page! Pourtant lorsque je consulte ma table "commentaire" les commentaires sont bien enregistrés.
Voilà si quelqu'un pouvait m'aider ce serait sympatique
Merci beaucoup!
Modifié par Artefact (12 Jul 2008 - 18:21)
Je suis entrain de faire un système de commentaire sur mon site, pour le moment je test sur mes news. J'affiche les commentaires et le formulaire d'ajout sur ma page news-view, qui elle charge les différentes news de ma bdd suivant leurs id (news-view.php?id=1 etc.).
Mes commentaires s'enregistre dans une table que j'ai nommée "commentaire" et qui contient 4 champs (j'en rajouterais d'autres par la suite), voici les différents champs :
ID, PSEUDO, MESSAGE, IDNEWS
Voici le code php pour les commentaires et le formulaire :
<?php
mysql_connect("chut", "login", "mdp"); // Connexion à MySQL
mysql_select_db("maase"); // Sélection de la base
$infos = mysql_query("SELECT * FROM commentaires WHERE id='" . $_GET['idnews'] . "'")or die (mysql_error()); // Ici on liste les commentaires dans l'ordre décroissant où le champ idnews est le même que celui de la variable contenue dans l'adresse de la page
while ($donnees = mysql_fetch_array($infos)) // Une boucle pour écrire les données
{
$pseudo = stripslashes($donnees['pseudo']);
$message = stripslashes($donnees['message']);
?>
<div class="content-commentaires"><span class="auteur-commentaire">Par <strong><?php echo $pseudo; ?></strong></span>
<?php echo $message; ?>
</div>
<?php
} // On n'oublie surtout pas de fermer la boucle !
if (isset($_POST['message']) AND isset($_POST['pseudo']))
{
if($_POST['message'] != '' AND $_POST['pseudo'] != '')
{
$auteur = addslashes(htmlentities($_POST['pseudo'], ENT_QUOTES));
$message = addslashes(htmlentities($_POST['message'], ENT_QUOTES));
$idcomment = $_POST['idcomment']; // Vérification : on fait attention à ce que l'auteur ait rempli tous les champs. Quels champs ? Ceux du formulaire que l'on va créer un peu plus bas
mysql_query ("INSERT INTO commentaires VALUES('', '" . $auteur . "', '" . $message . "', '" . $idcomment . "')")or die (mysql_error()); // Là, on entre juste les données dans une nouvelle entrée de la table SQL...
echo "Votre commentaire a bien été enregistré !";
}
}
?>
<br /><br />
<!--formulaire commentaire -->
<div id="ajouter-commentaire">
<span class="titre-ajout-commentaires" id="ajoutercommentaire">Ajouter un commentaire</span>
<form method="post">
<label>Votre pseudo :<br /> <input type="text" name="pseudo" />
<br />
</label>
<label><br />
Votre message :<br />
<textarea name="message" rows="5" cols="25"></textarea></label>
<br />
<br />
<input type="hidden" name="idcomment" value="<?php echo $_GET['id']; ?>" />
<input type="submit" value="Envoyer !" />
</form>
</div>
<!--end formulaire commentaire -->
<?php mysql_close(); ?>
Enfaite, le problème c'est lors de l'affichage, les commentaires ne s'affiches pas sur ma page! Pourtant lorsque je consulte ma table "commentaire" les commentaires sont bien enregistrés.
Voilà si quelqu'un pouvait m'aider ce serait sympatique

Merci beaucoup!
Modifié par Artefact (12 Jul 2008 - 18:21)