[SQL] aucun ajout dans la base de donnée impossible
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:
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:
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> |