login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Fout in formulier sql (Opgelost)

Offline tbsites - 08/09/2007 11:00 (laatste wijziging 08/09/2007 12:20)
Avatar van tbsitesOnbekend Code:

  1. <?php
  2. if(ctype_digit($_GET['id'])) {
  3. $get = $_GET['id'];
  4. } else {
  5. $get = 0;
  6. }
  7. //connect
  8.  
  9. if(isset($_POST['edit']))
  10. {
  11. $snaam = addslashes($_POST['naam']);
  12. $sbericht = addslashes($_POST['bericht']);
  13.  
  14. mysql_query("UPDATE berichten SET naam='.$snaam.', bericht='.$sbericht.' WHERE id=".$get) or die (mysql_error());
  15.  
  16. echo 'Je gegevens zijn succesvol in de database geplaatst';
  17. }
  18. else
  19. {
  20. ?>
  21. <<form action=" <?=$_SERVER['PHP_SELF']?> " method="POST">
  22. Naam: <input type="text" name="naam"><br />
  23. Bericht:: <textarea name='bericht' cols='40' rows='10'></textarea><br />
  24. <input type="submit" name="edit" value="verzenden">
  25. </form> <?
  26. }
  27. ?>

Foutmelding: Ik krijg wel gewoon te zien dat het goed is gegaan. maar er is niks in de database veranderd

6 antwoorden

Gesponsorde links
Offline lemoinet - 08/09/2007 11:17
Avatar van lemoinet PHP gevorderde als $get = 0 moet je de UPDATE-query veranderen door een INSERT query
Offline tbsites - 08/09/2007 11:27
Avatar van tbsites Onbekend Maar dat kan niet wat ik moet het updaten is er een andere manier
Offline Stijn - 08/09/2007 12:23 (laatste wijziging 08/09/2007 12:50)
Avatar van Stijn PHP expert Je query is niet goed gemaakt. Als $naam = 'stijn' dan zal naam='.stijn.' ipv naam='stijn'. Vervang je query lijn door het volgende.

  1. mysql_query("UPDATE berichten SET naam='".$snaam."', bericht='".$sbericht."' WHERE id='".$get."'") or die (mysql_error());


Het volgende waar ik je op wijs is dat rij 0 nooit bestaat. Id's beginnen te tellen vanaf 1, dus verander die $get = 0 in $get = 1;

edit

Ik had een quote vergeten.
Offline tbsites - 08/09/2007 12:36 (laatste wijziging 08/09/2007 13:03)
Avatar van tbsites Onbekend @stijn1989 als ik dat doe doet hij het helemaal niet ik krijg een lege pagina en over die 0 dat doe ik voor een beetje beveiliging

EDIT:

Ik heb die quote erbij gezet maar nu UPDATE hij de database nog steeds niet
Offline Koen - 08/09/2007 13:35
Avatar van Koen PHP expert Ik denk dat ik je fout heb ;)
verander regel 21 eens naar:
  1. <form action="<?=$_SERVER['REQUEST_URI'];?>" method="POST">

Aangezien je $_GET gebruikt.
Wanneer je op submit drukt, verdwijnt die $_GET!
Omdat je action="formulier.php" gebruikt ipv action="formulier.php?id=1", zo gebruikt hij altijd rij 0, omdat $_GET['id'] niet meer bestaat.

Sliphead.
Offline tbsites - 08/09/2007 16:38 (laatste wijziging 08/09/2007 17:35)
Avatar van tbsites Onbekend @sliphead heel erg bedankt. maar nu heb ik nog een vraagje:

Hoe kun je als value al het oude bericht zien. dus SELECT * FROM berichten WHERE etc. (dan maak ik het zelf wel verder) mij lukt dat niet.

EDIT: Gelukt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.214s