login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Forum wijzig bericht (Opgelost)

Offline ArcanA - 21/07/2009 04:35 (laatste wijziging 21/07/2009 04:37)
Avatar van ArcanAPHP beginner Hallo,

Ik heb al uren lopen zoeken naar het probleem zonder resultaat... word er echt gek van!

Heb dus problemen met het wijzigen van een bericht die de owner dus plaatst... Hij plaatst gewoon een nieuw bericht, ipv het te bewerken!

code:

  1. <?php
  2. $postyby = mysql_result(mysql_query("SELECT postby FROM forum_posts where postid = '".$_POST['postidedit']."'"), 0);
  3. $postidedit = $_POST['postidedit'];
  4.  
  5. if($_POST['edit'] == 'ja' AND $bError != 'ja' AND $postyby == $sGegevens['usr_login'])
  6. {
  7. echo "Je post is succesvol gewijzigd!";
  8. //we hebben te maken met een edit!
  9. $s = "UPDATE forum_posts SET post = '".$bericht."' WHERE postid = '".$postidedit."' "; //maak de var $s aan.
  10. $r = mysql_query($s); //maak de var $r aan.
  11. }
  12.  
  13. if ($_POST['edit'] != 'ja' AND $bError != 'ja' )
  14. {
  15. $topicid = $_POST['topicid'];
  16. $tijd = date("H:i:s");
  17. $datum = date("Y-m-d");
  18. $cat = mysql_result(mysql_query("SELECT category FROM forum_posts where topic_id = '$topicid'"), 0);
  19. //controles uitgevoerd, bericht kan toegevoegd worden.
  20.  
  21. $sql = "INSERT INTO `forum_posts` ( `postid` , `topic_id` , `category` , `post` , `postdate` , `posttime` , `postby` )
  22. VALUES ( '', '$topicid', '$cat' , '$bericht', '$datum', '$tijd', '". $sGegevens['usr_login'] ."' )";
  23. $result = mysql_query($sql);
  24.  
  25. //lastpost in topic toevoegen!!
  26. $s = "UPDATE forum_topics SET lastpostdate = '$datum' WHERE topicid= '$topicid' "; //maak de var $s aan.
  27. $r = mysql_query($s); //maak de var $r aan.
  28.  
  29. $s = "UPDATE forum_topics SET lastposttime = '$tijd' WHERE topicid= '$topicid' "; //maak de var $s aan.
  30. $r = mysql_query($s); //maak de var $r aan.
  31.  
  32. //update + 1 post
  33. $s = "UPDATE gebruikers SET usr_forumposts = usr_forumposts + '1' WHERE usr_login='". $sGegevens['usr_login'] ."' "; //maak de var $s aan.
  34. $r = mysql_query($s); //maak de var $r aan.
  35.  
  36. //lastpost
  37. $s = "UPDATE gebruikers SET usr_laatste_forum_bericht = '$nutijd' WHERE usr_login='". $sGegevens['usr_login'] ."' "; //maak de var $s aan.
  38. $r = mysql_query($s); //maak de var $r aan.
  39. }
  40. }
  41. ?>



En nu de textarea....

  1. <textarea name="text" <?php if($topicstatus == 'closed') { echo "disabled='true'"; } ?>id="frmtext" cols=69 rows=15 maxlength="1500" onkeydown="javascript:checklength(1500)">
  2.  
  3. <?php
  4. if($_GET['p'] == 'editpost') {
  5. $post = mysql_result(mysql_query("SELECT post FROM forum_posts where postid = '" . $_GET['postidedit'] . "'"), 0);
  6. echo $post;
  7.  
  8. $postidedit = $_GET['postidedit'];
  9. ?>
  10.  
  11. <input type='hidden' name='edit' value='ja' />
  12. <input type='hidden' name='postidedit' value='<?php echo "$postidedit" ?>' />
  13.  
  14. <?php
  15. }
  16. ?>
  17.  
  18. </textarea>


Hij slaat dus die eerste check over, normaal zou hij die toch niet mogen overslaan? Als ik op wijzig bericht maak, maakt hij een hele lange GET aan:

index.php?site=menu/forum/topic&p=editpost&postidedit=210774&cat=Topiconderwerp?&topicid=26890&name=Titelnaam

Dus dat klopt..

Mvg,
ArcanA

6 antwoorden

Gesponsorde links
Offline Martijn - 21/07/2009 11:45
Avatar van Martijn Crew PHP dat houd dus is dat:
$_POST['edit'] != 'ja' AND $bError != 'ja'

deze voldoet. Als je wilt dat de voorwaarde erboven het doet, zul je ven alle $vars uit je cvoorwaarde moeten echoën om te zien wat ze doen, daar ;ligt hoogstwaarschijnlijk de fout
Offline ArcanA - 21/07/2009 13:30 (laatste wijziging 21/07/2009 13:31)
Avatar van ArcanA PHP beginner heb op die $_POST['edit'] een echo op gedaan en die laat zich niet zien... vind ik raar?


  1. <textarea name="text" <?php if($topicstatus == 'closed') { echo "disabled='true'"; } ?>id="frmtext" cols=69 rows=15 maxlength="1500" onkeydown="javascript:checklength(1500)">
  2.  
  3. <?php
  4. if($_GET['p'] == 'editpost') {
  5. $post = mysql_result(mysql_query("SELECT post FROM forum_posts where postid = '" . $_GET['postidedit'] . "'"), 0);
  6. echo $post;
  7.  
  8.  
  9. $postidedit2 = $_GET['postidedit'];
  10. ?>
  11.  
  12. <input type='hidden' name='edit' value='ja' />
  13. <input type='hidden' name='postidedit' value='<?php echo "$postidedit2" ?>' />
  14.  
  15. <?php
  16. }
  17. ?>
  18.  
  19. </textarea>
  20.  
  21. <?php
  22. echo $_POST['edit'];
  23. echo '<br />...';
  24. echo $_POST['postidedit'];
  25. ?>


Wanneer ik trouwens op Wijzig bericht klik, dan word dus de GET aangemaakt, ik zie wel mijn bericht in de textarea, dus dat klopt...
Offline ArieMedia - 21/07/2009 14:56
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
doe eens var_dump($_POST);

Dan kan je zien welke waardes je allemaal verstuurd
Offline ArcanA - 21/07/2009 15:12 (laatste wijziging 21/07/2009 15:13)
Avatar van ArcanA PHP beginner Weet niet echt wat de bedoeling daarvan is..

array(0) { }



Het probleem ligt gewoon dat die
<input type='hidden' name='edit' value='ja' />

gewoon niet werkt? Al snap ik niet waarom
Offline ArieMedia - 21/07/2009 15:16
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
ArcanA schreef:
Weet niet echt wat de bedoeling daarvan is..

array(0) { }



Het probleem ligt gewoon dat die
<input type='hidden' name='edit' value='ja' />

gewoon niet werkt? Al snap ik niet waarom
De pagina krijgt hier helemaal geen post binnen. dus ook niet van je andere hidden inputfield 
Offline ArcanA - 21/07/2009 15:49 (laatste wijziging 21/07/2009 16:21)
Avatar van ArcanA PHP beginner hij zou normaal wel een post moeten binnenkrijgen? want heb de form enzo geopend?

hier het hele script:
(het is best wel een onduidelijk script)

http://plaatscode.be/137197/

Heb nu gewoon dit staan:
if($_POST['edit'] == 'ja') ..

en daar leest hij gewoon over








Heb het gevonden, de inputs stonden gewoon in de textarea zelf........ (na 5uur zoeken ......)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.213s