Bonjour a tous , voila j'ai un souçis avec un script de commentaire sur des news.
le probleme ici ce n'est pas les messages d'erreur car je n'en ai pas .
je vais dire c'est plutôt un script qui ne fais rien du tout lol .
En fait lorsque je veux ajouter un commentaire et que j'ouvre la fenetre contenant le formulaire , je le remplis et j'envoi .
Mais ensuite je veux voir les commentaires et il sont toujours indiquer a 0 .
je me suis dit c'est peut etre un probleme d'affichage mais apperement je n'ecris rien dans la base de donnée et je me demande pour quel raison .
La requête me semble correct ?
Pour vous mettre sur la piste voici le script d'ajout de commentaire .
ajout_commentaire.php :
maintenant le script pour voir les commentaires associer a la news :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26se_connecter(); if (isset($_POST['pseudo'], $_POST['message'], $_POST['id_news']) AND !empty($_POST['pseudo']) AND !empty($_POST['message']) AND !empty($_POST['id_news'])) { // On asseptise les infos transmises par le formulaire $id_news = intval($_POST['id_news']); $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); //$message = htmlentities($_POST['message'], ENT_QUOTES); $message = htmlentities(addslashes($_POST['message'])); // On insère le nouveau commentaire dans la BDD, en précisant l'id de la news à laquelle le commentaire appartient mysql_query('INSERT INTO commentaires (pseudo, message, idnews, timestamp) VALUES ("'.$pseudo.'", "'.$message.'", "'.$id_news.'", "'.time().'")') or die(mysql_error().__LINE__); } $id_news = intval($_GET['id_news']); mysql_close(); ?> <h1>Ajouter votre commentaire</h1> <div style="padding-top:0%; padding-left:5%"> <form method="post" action="ajout_commentaire.php"> <table border="1"> <tr><td style="background:#0099CC ">Pseudo : <input type="text" name="pseudo" size="30"/><br /></tr></td> <tr><td style="background:#0099CC "><textarea name="message" rows="5" cols="50"></textarea><br/></tr></td> <tr><td><input type="hidden" name="id_news" value="<?php echo $id_news; ?>" /></tr></td> <tr><td style="background:#0099CC "><input type="submit" value="Envoyer" /> <input type="button" value="fermer" onClick="self.close()"></td></tr> </table> </form> </div>
commentaire.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 <?php // ================================ // Affichage de la news à commenter // ================================ $id_news = intval($_GET['id_news']); // cette variable contient l'id de la news sur laquelle on veut voir les commentaires $requete = mysql_query('SELECT id, titre, contenu, pseudo, timestamp_validation FROM news WHERE id='.$id_news); $donneesnews = mysql_fetch_assoc($requete); /* Pareil que les autres fois, vous affichez ce que vous voulez concernant la news */ // ====================== // Début de la pagination // ====================== $limit_par_page = 15; // On définit une variable pour dire combien de commentaires on veut par page if (isset($_GET['page']) && !empty($_GET['page'])) { $page = intval($_GET['page']); } else { $page = 1; } $from = ($page - 1) * $limit_par_page; // ======================= // Boucle des commentaires // ======================= $requete = mysql_query('SELECT id, pseudo, message, timestamp FROM commentaires WHERE idnews='.$id_news.' LIMIT '.$from.', '.$limit_par_page); while($donnees = mysql_fetch_assoc($requete)) { /* Vous affichez ce que vous voulez concernant les commentaires */ print '<b>'.$donnees['pseudo'].'</b><br>'; print $donnees['message']; } // ================================ // Dernière partie de la pagination // ================================ $requete = mysql_query('SELECT COUNT(id) AS nb_commentaires FROM commentaires WHERE idnews='.$id_news); $donnees = mysql_fetch_assoc($requete); $nb_pages = ceil($donnees['nb_commentaires'] / $limit_par_page); for ($i=1 ; $i<=$nb_pages ; $i++) { if ($i == $page) { echo '['.$i.']'; } else { echo '<a href="commentaires.php?id_news='.$id_news.'&page='.$i.'">'.$i.'</a>'; } } mysql_close(); ?> <script> function ouvrirfenetre(nomdefenetre){ mafenetre=window.open(nomdefenetre,"nominterne","toolbar=no,directories=no,menubar=yes,status=no,height=300px,width=500px,top=200px,left=500px"); mafenetre.focus()}//ou mettre fullscreen=yes </script> <a class="info" onclick="ouvrirfenetre('ajout_commentaire.php?id_news=<?php echo $id_news; ?>')">Ajouter un commentaire<span>Ajouter un commentaire</span></a>
Partager