login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Controle formulier

Offline Speedy - 20/01/2005 21:41
Avatar van SpeedyPHP interesse Hoe kan ik hiertussen een controle maken zodat ze de velden naam, email en bericht hebben ingevuld?
Gewoon op weg helpen is genoeg, de rest doe ik zelf wel.

Bedankt

  1. <?
  2. if ($submit){
  3.  
  4. // Maak query om gegevens in tabel te stoppen
  5. $query = "INSERT INTO gastenboek (naam, email, bericht, datum) VALUES ('$naam','$email','$bericht','$datum')";
  6.  
  7. // Voer query uit
  8. mysql_query($query) or die (mysql_error());
  9.  
  10.  
  11. }else{
  12.  
  13. // Toon het formuliertje (in HTML modus)
  14. ?>

7 antwoorden

Gesponsorde links
Offline Dennisvb - 20/01/2005 21:43 (laatste wijziging 20/01/2005 21:46)
Avatar van Dennisvb MySQL ver gevorderde Je kunt eerst de volgende tutorial grondig doornemen, daarna ben je een heel stuk verder met php, want ik vind deze code ook niet zo mooi


edit
Tutorial vergeten 
http://www.site...&id=78

edit 2
@remy op volgende post: Dat staat ook in de tutorial beschreven
Offline remy - 20/01/2005 21:45 (laatste wijziging 20/01/2005 21:47)
Avatar van remy PHP ver gevorderde $submit moet $_POST['submit'] zijn,

controleren of velden zijn ingevuld met strlen;
  1. <?php
  2. if(strlen($_POST['veldnaam']))
  3. {
  4. //true
  5. }else{
  6. //false
  7. }
  8. ?>


edit
@dennisvb: ok, wou al1 maar helpe;-)
Offline Speedy - 21/01/2005 23:38
Avatar van Speedy PHP interesse Iedere keer als ik het formulier volledig invul, krijg ik:

Je moet eerst het formulier invullen

Waar zit de fout?

  1. <?php
  2. if(mysql_connect('localhost','*****','*****'))
  3. {
  4. mysql_select_db('*****') or die(mysql_error());
  5. }
  6. else
  7. {
  8. echo 'Kan geen verbinding maken';
  9. exit;
  10. }
  11.  
  12.  
  13. if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
  14. {
  15. $aFouten = array();
  16. if($_POST['naam'] == '')
  17. {
  18. $aFouten[] = 'U hebt geen naam ingevuld';
  19. }
  20. if($_POST['email'] == '')
  21. {
  22. $aFouten[] = 'U hebt geen e-mailadres ingevuld';
  23. }
  24. if($_POST['bericht'] == '')
  25. {
  26. $aFouten[] = 'U hebt geen leeftijd ingevuld';
  27. }
  28. else
  29. {
  30. $aFouten[] = 'Je moet eerst het formulier invullen';
  31. }
  32.  
  33. if(count($aFouten) != 0)
  34. {
  35. echo '<u>De volgende fouten zijn opgetreden:</u><br /><br />';
  36. for($Fi = 0; $Fi < count($aFouten); $Fi++)
  37. {
  38. echo $aFouten[$Fi].'<br />';
  39. }
  40. echo '<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te keren';
  41. }
  42. else
  43. {
  44. mysql_query("INSERT INTO `formulier` (naam,email,bericht) VALUES ('".addslashes($_POST['naam'])."','".addslashes($_POST['email'])."','".$_POST['bericht']."')") or die (mysql_error());
  45.  
  46. echo 'Bedankt voor het tekenen van het gastenboek<br /><br />Klik <a href="index.php?p=gastenboek">hier</a> om het gastenboek te bekijken';
  47. }
  48.  
  49. }
  50. else
  51. {
  52.  
  53. ?>
  54. <form action="index.php?p=schrijfgastenboek" method="POST">
  55. <table border="0" cellspacing="0" style="border-collapse: collapse" width="100%" cellpadding="2">
  56. <tr>
  57. <td width="30%">Naam: *</td>
  58. <td width="70%"><input type="text" name="naam" size="20" /></td>
  59. </tr>
  60. <tr>
  61. <td width="30%">E-mail: *</td>
  62. <td width="70%"><input type="text" name="email" size="20" /></td>
  63. </tr>
  64. <tr>
  65. <td width="30%">Bericht: *</td>
  66. <td width="70%"><textarea name="bericht" rows="5" cols="30"></textarea></td>
  67. </tr>
  68. <tr>
  69. <td width="30%">* velden zijn verplicht!</td>
  70. <td width="70%"><input type="submit" value="Gastenboek tekenen" name="verzenden" /> <input type="reset" value="Leeg maken" name="leeg_maken" /></td>
  71. </tr>
  72. </table>
  73. </form>
  74. <?
  75. }
  76. ?>
Offline numlockrond - 21/01/2005 23:45 (laatste wijziging 21/01/2005 23:46)
Avatar van numlockrond Onbekend
  1. if($_POST['bericht'] == '')
  2. {
  3. $aFouten[] = 'U hebt geen leeftijd ingevuld';
  4. }
  5. else
  6. {
  7. $aFouten[] = 'Je moet eerst het formulier invullen';
  8. }


bericht <> leeftijd ??

Als je wel een bericht invult voeg je de error 'Je moet eerst het formulier invullen' toe aan de array.....
Je krijgt dus altijd een error, of je het nou invult of niet.
Offline Speedy - 22/01/2005 07:59
Avatar van Speedy PHP interesse Wat moet het dan wel zijn?
Offline Dennisvb - 22/01/2005 10:43
Avatar van Dennisvb MySQL ver gevorderde Je moet dit weglaten:

  1. else
  2. {
  3. $aFouten[] = 'Je moet eerst het formulier invullen';
  4. }


foutje van mij, was tegelijkertijd ook met 'n ander script bezig ;)
Offline Speedy - 22/01/2005 10:58
Avatar van Speedy PHP interesse Ok, bedankt!!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.224s