Bonjour,

J'essaye de faire une page commentaire.
Il faut que la personne soit loggée avant de pouvoir laisser un commentaire.
Mon formulaire et l'envoi des données sont sur la même page.
Mais lorsque je laisse un commentaire, une ligne est bien créée dans ma base mais elle est vierge.
Ma table comprend les champs: id, id_news, commentaire, auteur, date_commentaire.

Je pense que les données envoyées n'ont pas récupérées les valeurs du formulaires, mais je n'arrive pas a trouver l'erreur.
Pouvez vous m'aider?
Voici mon code:
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
  <?php
			//VARIABLES GENERALES
include("espace_membres/data.php");
global $dbserver;
global $dbdb;
global $dbuser;
global $dbpass;
//CONNEXION A LA BASE DE DONNEES
$base = @MYSQL_CONNECT ("$dbserver","$dbuser","$dbpass") or die ("<p>Erreur: impossible de communiquer avec la base de donn&eacute;es.<br>V&eacute;rifiez les donn&eacute;s du fichier <b>data.php</b>.</p>");
mysql_select_db("dbdb",$base);
 
// lancement de la requête. on sélectionne les commentaires que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)  
$result=mysql_query('SELECT * FROM news WHERE id="'.$_GET['news'].'"'); 
 
 
 
    while ($data = mysql_fetch_array($result)) { 
 
       // on décompose la date 
       sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec); 
 
 
       // on affiche les résultats 
       echo'<p>'.htmlentities(trim($data['titre'])).':'.'<br>'.'</p>';
	    echo'<ul>'.htmlentities(trim($data['contenu'])).'<br>'.'</ul>'; 
 
  } ?>
 
<h2>Commentaires</h2>
 
<?php
 
// Récupération des commentaires
$req=mysql_query('SELECT * FROM commentaires_news WHERE id_news="'.$_GET['news'].'"');
$nb_news = mysql_num_rows($req);  
 
if ($nb_news == 0) { 
 
	?>
	   <a href="commentaires_poussins.php?news=<?php echo $data['id'];
 }  
 else { 
    // si on a au moins une news, on l'affiche 
    while ($data = mysql_fetch_array($req)) { 
	?>
 
 
</div><div class="bas_ng"></div> <!-- FIN GRAND CADRE-->
 <div class="haut_ng"></div><!-- GRAND CADRE-->
<div class="fond_ng"><br />
<strong><?php echo htmlspecialchars($data['auteur']); ?></strong> le <?php echo $data['date_commentaire']; ?><br />
<?php echo nl2br(htmlspecialchars($data['commentaire'])); 
}
}?>
<br />
</div><div class="bas_ng"></div> <!-- FIN GRAND CADRE-->	
 <div class="haut_ng"></div><!-- GRAND CADRE-->
<div class="fond_ng">
 <!-- CONNECTION -->
 
<?php
 
 
 
 
// verification si le membre est connecté
if (!$pun_user['is_guest'])
{
?>
Bienvenue <?php
 echo $pun_user['username'];
 // On place les informations dans des variables simples
 
 
	$auteur = $pun_user['realname'];
	$date_commentaire = time();
	$id_news = $data['id_news']; // Cette variable va servir pour se souvenir que c'est une modification ?>
  <form action="commentaires_poussins.php" method="post">
 
 
   <p> Commentaire :</p>
    <textarea name="commentaire"><?php echo $commentaire; ?></textarea><br />
    <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
    <input type="hidden" name="nom" value="<?php echo $auteur; ?>" />
    <input type="hidden" name="date" value="<?php echo $date_commentaire; ?>" />
    <input type="submit" value="Envoyer" name="envoyer" />
 
</p>
</form>
 
<?php // envoi des données dans la base de données
 if($_POST['envoyer'])
{
       $sql = "INSERT INTO commentaires_news
VALUES('','$id_news','$auteur','$commentaire','$date_commentaire')";
mysql_query($sql)
or die('Erreur SQL !'.$sql.'
'.mysql_error());
 
echo 'merci beaucoup, vos commentaires ont ete enregistres.';
mysql_close();
 
    }
}
else
{
 ?>
Vous devez vous identifier pour mettre un comemntaire
<form action="./forum/login.php?action=in" method="post">
    <fieldset>
	<input type="hidden" name="form_sent" value="1" />
	<input type="hidden" name="redirect_url" value="../commentaires_poussins.php" />
 
	<p><label>Nom d'utilisateur<input type="text" name="req_username" size="13" maxlength="25" /></label></p>
	<p><label><strong>Mot de passe</strong><input type="password" name="req_password" size="13" maxlength="16" /></label></p>
 
	<input type="submit" name="login" value="Connexion" />
    </fieldset>
</form>
<?php
 
}?>


Seb

Ps: excusez moi d'avance pour ce code mal écrit.