login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Reactiesysteem

Offline Drieske - 26/01/2008 15:16
Avatar van DrieskeLid Hallo,

Ik heb hieronder volgend reactiesysteem in mijn site geïmplementeerd maar er werken een aantal dingen niet!

  1. <?
  2. if(isset($_POST['verzenden']))
  3. {
  4.  
  5. $bericht = addslashes($_POST['bericht']);
  6.  
  7. mysql_query("INSERT INTO reacties (artikel_id, bericht, datum) VALUES ('".$_GET['id']."','".$bericht."', NOW())") OR die (mysql_error());
  8.  
  9. print "Reactie toegevoegd";
  10. }
  11. else
  12. {?>
  13.  
  14. <!-- tinyMCE -->
  15. <script language="javascript" type="text/javascript" src="http://www.it-blog.be/sitev2/editor/tiny_mce.js"></script>
  16. <script language="javascript" type="text/javascript">
  17. tinyMCE.init({
  18. mode : "textareas",
  19. theme : "simple"
  20. });
  21. </script>
  22. <!-- /tinyMCE -->
  23.  
  24.  
  25. <form method="post" action="index.php?mod=nieuws&a=toon&id=<?php echo $data['id']; ?>">
  26. <textarea class="txtcomment" id="bericht" cols="50" rows="8">Typ hier je reactie</textarea>
  27.  
  28. <input class="cmtbutton" type="submit" name="verzenden" value="Reageer">
  29. </form>
  30. <? } ?>


Eerst en vooral wordt artikel_id niet in de database geplaatst en ook het bericht niet, enkel de datum komt er juist in te staan. De namen van de rijen komen overeen dus dit kan het al niet zijn!

Verder heb ik ook een probleem wanneer ik op Reageer klik dat hij niet terug het bericht geeft waarop gereageerd is en denk ik dus dat hier:
  1. <form method="post" action="index.php?mod=nieuws&a=toon&id=<?php echo $data['id']; ?>">
een fout inzit.

Verder is er ook nog een probleem met de editor die mijn reactieveld naar de vaantjes helpt:) Zonder editor wast dit veld goed gecentreerd maar nu is hij echt een mesthoop!

Greetz,

Dries

4 antwoorden

Gesponsorde links
Offline Grayen - 26/01/2008 15:57 (laatste wijziging 26/01/2008 15:58)
Avatar van Grayen PHP ver gevorderde Zoiets? Ik weet niet hoe jouw pagina bedoelt is en dus ook niet of het artikel id verplicht is, maar dat kan je natuurlijk zelf zo aanpassen.

  1. <?php
  2. // Het artikel id moet meegegeven zijn in de url en het moet een getal bevatten.
  3. if (!isset($_GET['id']) || !ctype_digit($_GET['id']))
  4. {
  5. echo '<p>Het artikel id is niet meegegeven met de url of is niet valide.</p>';
  6. }
  7. else
  8. {
  9. if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['verzenden']))
  10. {
  11. // INSERT query uitvoeren en controleren of deze succesvol is uitgevoerd.
  12. if (mysql_query("INSERT INTO reacties (artikel_id, bericht, datum) VALUES ('".$_GET['id']."','".mysql_real_escape_string($_POST['bericht'])."', NOW())") === false)
  13. {
  14. echo '<p>'.mysql_error().'</p>';
  15. }
  16. }
  17. else
  18. {
  19. ?>
  20. <!-- tinyMCE -->
  21. <script language="javascript" type="text/javascript" src="http://www.it-blog.be/sitev2/editor/tiny_mce.js"></script>
  22. <script language="javascript" type="text/javascript">
  23. tinyMCE.init({
  24. mode : "textareas",
  25. theme : "simple"
  26. });
  27. </script>
  28. <!-- /tinyMCE -->
  29.  
  30. <!--
  31. $data['id'] bestaat helemaal niet, deze zal je dus eerst moeten aanmaken.
  32. Geen wonder dat hij dus niet werkt.
  33. -->
  34. <form method="post" action="index.php?mod=nieuws&a=toon&id=<?php echo $data['id']; ?>">
  35. <!--
  36. De textarea wordt vervangen door de editor,
  37. dus je zal er een div omheen moeten plaatsen wil je hem centeren.
  38.  
  39. Daarnaast moet je altijd het name attribuut opgeven bij een formulier veld.
  40. Anders zal de variable met daarin de waarde niet worden aangemaakt.
  41. -->
  42. <div class="txtcomment">
  43. <textarea name="bericht" cols="50" rows="8">Typ hier je reactie</textarea>
  44. </div>
  45. <input class="cmtbutton" type="submit" name="verzenden" value="Reageer" />
  46. </form>
  47. <?php
  48. }
  49. }
  50. ?>
Offline Drieske - 26/01/2008 16:07
Avatar van Drieske Lid
  1. <form method="post" action="index.php?mod=nieuws&a=toon&id=<?php echo $data['id']; ?>">


Hier moet normaal ook dat artikel_id meegegeven worden maar hoe kan ik dat doen?

ik dahct iets van :

  1. <form method="post" action="index.php?mod=nieuws&a=toon&id='".$_GET['id']."'">


maar dit lukt niet....
Offline cyberninjah - 26/01/2008 17:42 (laatste wijziging 26/01/2008 17:42)
Avatar van cyberninjah Lid hmm maak bv even snel

$id = $_GET['id'];

en dan doe je het volgenden

  1. <form method="post" action="index.php?mod=nieuws&a=toon&id='".$id."'">


Volgens mij werkt dit wel
Offline CDNC - 26/01/2008 19:44
Avatar van CDNC PHP ver gevorderde $_GET variabelen waarde copieren in een andere is totaal onnuttig, trager, slordiger & kan errors opleveren.
Dit geld ook voor $_SESSION, $_COOKIE enz... er is geen nutige reden om dit wel te doen.

en @ TS: zoiets ja. Als dat te minste de juiste variabelenaam is.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.246s