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 :

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
se_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>
maintenant le script pour voir les commentaires associer a la news :
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.'&amp;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>