Formulaire ramenant que la valueur null dans ma base de données
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? :hola:
Voici mon code:
Code:
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ées.<br>Vérifiez les donné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
}?> |
:merci:
Seb
Ps: excusez moi d'avance pour ce code mal écrit. :?