login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Formulier verzenden probleem (Opgelost)

Offline maidran - 22/02/2007 16:22
Avatar van maidranNieuw lid Ik heb een formuliertje op m'n site. Ik zou nu echter willen dat wanneer de gebruiker dit invult en verzend, de foutmelding (bv een leeg veld) boven het formuliertje verschijnt, maar dat de ingevulde tekst nog blijft staat (anders moet de gebruiker volledig opnieuw beginnen). Zoiets als op een phpBB-forum wanneer je een topic probeert te posten zonder titel (hier is een voorbeeldje: http://img174.i..._167lo.jpg). Ik heb nu al vanalles geprobeerd maar de tekst verdwijnt steeds... Iemand een tip?

Alvast bedankt!

5 antwoorden

Gesponsorde links
Offline Abbas - 22/02/2007 16:25
Avatar van Abbas Gouden medaille

Crew .NET
Je kan de ingevulde waardes in een $_SESSION opslaan en als het formulier niet juist is ingevuld de waardes vanuit de session in de vakken plaatsen.
Ik denk dat dergelijk topic hier al eens gesteld is...

Offtopic:
Muug p0rn-ads op die afbeelding 
Offline Nrzonline - 22/02/2007 16:49 (laatste wijziging 22/02/2007 16:56)
Avatar van Nrzonline PHP ver gevorderde Een voorbeeldje met het ondhouden van sessions, het gaat
om de $_SESSION['bericht'] die moet worden onthouden..
Meteen een voorbeeldje gescript hij gebruikt kan worden..
Ik hoop dat het een dieuwtje in de goede richting geeft


  1. <?PHP
  2.  
  3.  
  4. // Zorgen dat er een lege sessie is om foutmeldingen te voorkomen!
  5. if (!isset ($_SESSION['bericht'])){ $_SESSION['bericht'] = ""; }
  6. if (!isset ($_SESSION['username'])) { $_SESSION['username'] = ""; }
  7. if (!isset ($_SESSION['error'])){ $_SESSION['error'] = ""; }
  8.  
  9. // Als er een fout is opgetreden, de foutmelding weergeven
  10. if (!empty ($_SESSION['error']))
  11. {
  12. # De foutmelding bovenaan de pagina weergeven
  13. echo $_SESSION['error'];
  14. }
  15.  
  16. // Controleren of er op submit is gedrukt
  17. if (isset ($_POST['submit']))
  18. {
  19. # Bericht en username in een sessie zetten
  20. $_SESSION['bericht'] = $_POST['bericht'];
  21. $_SESSION['username'] = $_POST['username'];
  22.  
  23. #bError aanmaken met FALSE omdat er nog geen fouten zijn
  24. $bError = FALSE;
  25. // Als er geen bericht is ingevoerd, een foutmelding geven
  26. if (empty ($_POST['username']))
  27. {
  28. # TRUE, want er is een fout opgetreden
  29. $bError = TRUE;
  30. $sError = "Geen username ingevoerd";
  31. }
  32. // Als er een fout is, hetvolgende uitvoeren
  33. if ($bError)
  34. {
  35. # Hier krijgt de error-sessie een waarde die bovenaan de pagina
  36. # wordt weergegeven. De header ("Location: #.php") zorgt ervoor
  37. # dat je pagina opnieuw wordt geladen. De eerder vastgezette bericht
  38. # bericht sessie kan nu worden herbruikt in je textarea.
  39. $_SESSION['error'] = $sError;
  40. header ("Location: bericht.php");
  41. }
  42. else
  43. {
  44. // Query uitvoeren
  45.  
  46. # Session legen, want bericht is succesvol geplaatst
  47. $_SESSION['bericht'] = "";
  48. $_SESSION['username'] = "";
  49. }
  50. }
  51. ?>
  52.  
  53. <form action="" method="post">
  54. <input name="username" type="text" value="<?=$_SESSION['username'];?>" />
  55. <textarea><?=$_SESSION['bericht'];?></textarea>
  56. <input name="submit" type="submit" value="plaatsen!" />
  57. </form>
Offline maidran - 22/02/2007 16:50
Avatar van maidran Nieuw lid
Citaat:
Muug p0rn-ads op die afbeelding
Alleen wa tekst. De kleine kindjes moeten hun ogen dan maar dicht doen:p

Citaat:
Je kan de ingevulde waardes in een $_SESSION opslaan en als het formulier niet juist is ingevuld de waardes vanuit de session in de vakken plaatsen.
Ik denk dat dergelijk topic hier al eens gesteld is...
Lijkt me vrij complex. Ik denk dat ik het al weet.

Nadat de gebruiker op verzendenknop gedrukt heeft:

  1. <?php
  2. if (emtpy(naam)) {
  3. //display error message
  4.  
  5. //display formuliertje met de $_POST variabelen
  6.  
  7. }
  8. else {
  9. //put it in database
  10.  
  11. //display success message
  12. }
  13. ?>
Dat moet volgens mij wel lukken... Soms maakt nen mens het zichzelf toch veel moeilijker dan het eigenlijk is...
Offline Nrzonline - 22/02/2007 16:54 (laatste wijziging 22/02/2007 16:55)
Avatar van Nrzonline PHP ver gevorderde *update van mijn vorige post* had foutje 
khad namelijk een $_SESSIE van bericht, maar ik had als foutmelding
dat er geen bericht was.. dus er valt nergens een sessie van te maken nu 'verhaal' iets aangepast..

(Ps. ik raad je echt aan om sessies te gebruiken, je kunt er véél mee)
Offline maidran - 22/02/2007 18:01
Avatar van maidran Nieuw lid Is mss wel handig, maar als veel velden hebt, dan heb je ook veel sessies nodig. 't Lijkt me moeilijker, maar ik ben nog niet zo vertrouwd met sessies. Ik ga het zeker eens van dichterbij bekijken! Bedankt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.209s