FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Problème pour insérer un commentaire
 

Problème pour insérer un commentaire

Il y a 411 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Problème pour insérer un commentaire
 
Plus d'informations

Bon voila je continue ma construction de site, ici je suis face à un problème :
 
J'ai la possibilité de poster des commentaires sur des news, seulement voila mes commentaires ne s'associe pas à la bonne news mais prennent une valeur de 3 automatiquement...
 
le code :
 
(regarder les commentaires précédés de !!! )

Code :
  1. <div id="corps">
  2. <?php
  3. // SELECTION DE MA BASE DE DONNEE
  4. // PREMIERE ETAPE : AFFICHAGE DE NEWS
  5. $appel_de_news_bordel = mysql_query("SELECT * FROM news ORDER BY id DESC" );
  6. while ($appel_de_news = mysql_fetch_array($appel_de_news_bordel))
  7. {
  8. ?>
  9. <p><strong><?php echo $appel_de_news['id'] ?></strong>&nbsp;Titre : <?php echo $appel_de_news['titre'] ?><br />
  10. <?php echo $appel_de_news['contenu'] ?></p>
  11. <!-- DEUXIEMME ETAPE : AFFICHAGE DE COMMENTAIRES LIES A LA NEWS -->
  12. <?php
  13. $appel_de_commentaires_bordel = mysql_query("SELECT * FROM commentaires" );
  14. while ($appel_de_commentaires = mysql_fetch_array($appel_de_commentaires_bordel))
  15. {
  16. // CONDITION POUR AFFICHER UN COMMENTAIRE
  17. if ($appel_de_news['id'] == $appel_de_commentaires['article_asso'])
  18. {
  19. ?>
  20. <!-- AFFICHAGE DE COMMENTAIRE -->
  21. <p><strong>Commentaire(s) :</strong><br />
  22. <?php echo $appel_de_commentaires['contenu'] ?><br />
  23. <strong>Auteur :</strong><?php echo $appel_de_commentaires['auteur'] ?></p>
  24. <?php
  25. }
  26. // AFFICHAGE EN CAS DE COMMENTAIRES MANQUANTS
  27. ?>
  28. <?php
  29. }
  30. // TROISIEMME ETAPE : FORMULAIRE D'AJOUT DE COMMENTAIRES
  31. if (isset($_POST['auteur']) and isset($_POST['contenu']))
  32. {
  33. $auteur = htmlentities($_POST['auteur']);
  34. $contenu = htmlentities($_POST['contenu']);
  35. $article_asso = $appel_de_news['id'];
  36. $site = htmlentities($_POST['site']);
  37. // CE QUE L'ON FAIT SI L'USER A DEJA ENTRE SON PSEUDO ET SON MESSAGE ET CLIQUE SUR LE BOUTON ENVOYER DU FORMULAIRE
  38. mysql_query("INSERT INTO commentaires VALUES('', '$auteur', '$contenu', '$article_asso', '$site')" );
  39. // !!! $article_asso prend l'id 3 automatiquement dans ma BDD...  
  40. // APRES AVOIR INSERT, ON VITE LE FORMULAIRE POUR EVITER DE REMPLIR LA BDD AVEC UNE BOUCLE POURRIE
  41. unset($_POST['auteur']);
  42. unset($_POST['contenu']);
  43. unset($_POST['site']);
  44. }
  45. ?>
  46. <!-- FORMULAIRE -->
  47. <a href="#" onclick="openClose('content_<?php echo $appel_de_news['id'] ?>', '0'); return false" >
  48. <img src="images/plus.gif" id="img_content_2" alt="Afficher/Masquer" title="Afficher/Masquer" /></a>
  49. <div id="content_<?php echo $appel_de_news['id'] ?>" style="display:none;">
  50. <!-- FIN -->
  51. <div class="formulaire_de_commentaire">
  52. <form action="index.php" method="post" class="form_de_com" >
  53.     Pseudo :<input type="text" value="" name="auteur" class="info_de_com" /><br />
  54.     <textarea name="contenu"class="content_de_com" >Veuillez taper votre message</textarea><br />
  55.     Site :<input type="text" name="site" value="" class="info_de_com" /><br /><br />
  56.     <input type="submit" value="" class="btn_send" />
  57.     <!-- !!! ICI mon echo me revoie le bon id de ma news -->
  58.     <input type='hidden' value='<?php echo $appel_de_news["id"] ?>' name='id_news'>
  59.     </form>
  60. </div>
  61. </div>
  62. <?php
  63. }
  64. mysql_close();
  65. ?>
  66. </div>


 
Bon c'est peut-être pas clair donc posez une question ou deux parce que je ne sais pas vraiment expliquer vu que je suis un newbie !

Plus d'informations

Bon voila je viens de faire un test :
 
j'ai rajouté un input de type hide :
 

Code :
  1. <div class="formulaire_de_commentaire">
  2. <form action="index.php" method="post" class="form_de_com" >
  3.     Pseudo :<input type="text" value="" name="auteur" class="info_de_com" /><br />
  4.     <textarea name="contenu"class="content_de_com" >Veuillez taper votre message</textarea><br />
  5.     Site :<input type="text" name="site" value="" class="info_de_com" /><br /><br />
  6.     <input type="submit" value="" class="btn_send" />
  7.     <!-- ICI mon echo me revoie le bon id de ma news -->
  8.     <input type='hidden' value='<?php echo $article_asso ?>' name='id_news'>
  9.     <input type='hidden' value='<?php echo $appel_de_news["id"] ?>' name='id_news'>
  10.     </form>


 
celui me donne un value vide à mon bouton, j'en conclu donc que $article_asso est vide...
Je comprends pas trop pourquoi étant donné ceci :
 

Code :
  1. $auteur = htmlentities($_POST['auteur']);
  2. $contenu = htmlentities($_POST['contenu']);
  3. $article_asso = $appel_de_news['id'];
  4. $site = htmlentities($_POST['site']);


 
$appel_de_news['id'] est bel et bien existante... Donc articl_asso devrait avoir la même valeur nan?
 
Still a newbie !


Message édité par Kaoru@IDN le 26-02-2007 à 11:08:48
Plus d'informations

Si tu utilises un input type hidden, tu dois récupérer tes valeurs par la méthode POST

Code :
  1. $article_asso = $_POST['id_news'];

Plus d'informations

Bon bha thomas_r , on va organiser un rendez vous entre mes levres et ton cul :D
 
Still a newbie que je suis, mais un newbie reconnaissant ^^
 
Grand merci à toi !


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Problème pour insérer un commentaire
 

Annonces Google
Publicité