login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Snippets > Formulieren class V0.8

Formulieren class V0.8

Auteur: Rens - 22 november 2004 - 18:27 - Gekeurd door: Dennisvb - Hits: 6450 - Aantal punten: 4.00 (11 stemmen)



Het is vrij simpel te gebruiken.
Je kunt met deze class een formulier genereren aan de hand van enkele korte codes.
Het allereerste waar je mee begint is:
$cForm = new form;
Je geeft aan dat er een nieuwe class word gebruikt.

1. form beginnen
Dit doe je door:
$cForm->beginForm("methode", "actie");
methode = POST of GET
actie = de pagina waarnaar toe moet worden verstuurd

2. velden maken
Je kunt (voorlopig 2) verschillende velden maken:
- input veld
- textarea

Voor een input veld:
$cForm->makeField("omschrijving", "invoer type", "naam van invoer veld", "waarde in het invoer veld", "maximale lengte");

Voor een textarea:
$cForm->makeTextarea("omschrijving", "naam", "rijen van textarea", "kolommen van textarea", "waarde in het textarea");

3. knoppen zetten
Voor een submitknop:
$cForm->makeSubmit("naam van knop", "waarde op de knop");

Voor een resetknop:
$cForm->makeReset("naam van knop", "waarde op de knop");

4. form beëindigen
$cForm->endForm();

5. Email controleren:
$cForm->checkEmail("email");

6. URL/Link controleren:
$cForm->checkURL("url/link");

7. Errors printen:
$cForm->showError("omschrijving");

8. Waardes op het scherm printen:
$cForm->showMessage("omschrijving", "type");
Voor type heb je voorlopig nog de volgende keuzen:
- email
- website
- normaal (voor gewone text)

Ik denk dat ik zo alles wel heb gezegd...
Als je nog vragen hebt, kun je ze hier stellen of mij een PM of email sturen.

Mzzls en veel plezier met het script,
Rensjuh

0.8 {
- Select box maken
- Radio buttons maken
- Checkbox maken
}

0.5 {
- Form beginnen
- Input veld maken
- Textarea maken
- Submit knop maken
- Reset knop maken
- Form eindigen
- Email checken
- URL/Link checken
- Waardes echoën
}

Code:
[B]formclass.php[/B]
  1. <?PHP
  2. class form
  3. {
  4. function beginForm($sType, $sAction)
  5. {
  6. echo "<form method='".$sType."' action='".$sAction."'>";
  7. }
  8.  
  9. function makeField($sDesc, $sType, $sName, $sValue, $iMaxlength)
  10. {
  11. echo $sDesc.": <input type='".$sType."' name='".$sName."' value='".$sValue."' maxlength='".$iMaxlength."'>";
  12. }
  13.  
  14. function makeTextarea($sDesc, $sName, $iRows, $iCols, $sValue)
  15. {
  16. echo $sDesc.": <textarea name='".$sName."' rows='".$iRows."' cols='".$iCols."'>".$sValue."</textarea>";
  17. }
  18.  
  19. function makeSelect($sDesc, $sName, $sValue)
  20. {
  21. echo $sDesc;
  22. $iAantal = count($sValue);
  23. echo "<select name='select'>";
  24. for($i = 0; $i < $iAantal; $i++)
  25. {
  26. echo "<option value='".$sValue[$i]."'>".$sValue[$i]."</option>";
  27. }
  28. echo "</select>";
  29. }
  30.  
  31. function makeRadio($sDesc, $sName, $sValue)
  32. {
  33. echo $sDesc;
  34. $iAantal = count($sValue);
  35. for($i = 0; $i < $iAantal; $i++)
  36. {
  37. echo $sValue[$i].": <input type='radio' name='".$sName."' value='".$sValue[$i]."'>";
  38. }
  39. }
  40.  
  41. function makeCheckBox($sDesc, $sName, $sValue)
  42. {
  43. echo $sDesc.": ";
  44. $iAantal = count($sValue);
  45. for($i = 0; $i < $iAantal; $i++)
  46. {
  47. echo $sValue[$i].": <input type='checkbox' name='".$sName."' value='".$sValue[$i]."'>";
  48. }
  49. }
  50.  
  51. function makeSubmit($sName, $sValue)
  52. {
  53. echo "<input type='submit' name='".$sName."' value='".$sValue."'>";
  54. }
  55.  
  56. function makeReset($sName, $sValue)
  57. {
  58. echo "<input type='reset' name='".$sName."' value='".$sValue."'>";
  59. }
  60.  
  61. function endForm()
  62. {
  63. echo "</form>";
  64. }
  65.  
  66. function checkEmail($sEmail)
  67. {
  68. if(preg_match("/^([a-z0-9_-]+.)*?[a-z0-9_-]+@([a-z0-9-_]{2,}).[a-z0-9-_]*(.[a-z0-9- _]{2,})*$/i", $sEmail))
  69. {
  70. return true;
  71. } else
  72. {
  73. return false;
  74. }
  75. }
  76.  
  77. function checkURL($sUrl)
  78. {
  79. if(ereg("http:[/][/]|www.)([a-z]|[A-Z]|[0-9]|[/.]|[~])", $sUrl))
  80. {
  81. return true;
  82. } else
  83. {
  84. return false;
  85. }
  86. }
  87.  
  88. function showError($sType)
  89. {
  90. echo "Je hebt je <B>".$sType."</B> niet (correct) ingevuld!<BR>";
  91. echo "<A HREF='javascript:history.go(-1);'>Keer terug!</A>";
  92. }
  93.  
  94. function showMessage($sMessage, $sType)
  95. {
  96. if($sType == "normaal")
  97. {
  98. echo addslashes($sMessage);
  99. } else if($sType == "email")
  100. {
  101. echo "<A HREF='mailto:".addslashes($sMessage)."'>".addslashes($sMessage)."</A>";
  102. } else if($sType == "website")
  103. {
  104. echo "<A HREF='".addslashes($sMessage)."'>".addslashes($sMessage)."</A>";
  105. }
  106. }
  107. }
  108. ?>


voorbeeld.php
  1. <?PHP
  2. include("formclass.php");
  3. $cForm = new form;
  4. if(!IsSet($_POST['submit']))
  5. {
  6. $cForm->beginForm("POST", "voorbeeld.php");
  7. // begin een nieuw formulier
  8. // methode: post
  9. // actie: pagina.php
  10.  
  11. $cForm->makeField("Username", "text", "username", "", "30");
  12. // maak een invoer veld
  13. // Omschrijving: username
  14. // type: text
  15. // naam: username
  16. // waarde: -
  17. // max. lengte: 30
  18. echo "<BR>";
  19. $cForm->makeField("Email", "text", "email", "", "30");
  20. // maak een invoer veld
  21. // Omschrijving: email
  22. // type: text
  23. // naam: email
  24. // waarde: -
  25. // max. lengte: 30
  26. echo "<BR>";
  27. $cForm->makeField("Website", "text", "website", "", "30");
  28. // maak een invoer veld
  29. // Omschrijving: website
  30. // type: text
  31. // naam: website
  32. // waarde: -
  33. // max. lengte: 30
  34. echo "<BR>";
  35. $cForm->makeTextarea("Bericht", "text", "5", "20", "");
  36. // maak een textarea
  37. // Omschrijving: bericht
  38. // naam: text
  39. // rijen: 20
  40. // kolommen: 20
  41. // waarde: -
  42. echo "<BR>";
  43.  
  44. $sValue = array();
  45. $sValue[0] = "Hallo";
  46. $sValue[1] = "Hoi";
  47. $sValue[2] = "Hai";
  48. // array maken met de waarden voor de select, radio en checkbox
  49. $cForm->makeSelect("Select", "select", $sValue);
  50. echo "<BR>";
  51. $cForm->makeRadio("Radio", "radio", $sValue);
  52. echo "<BR>";
  53. $cForm->makeCheckBox("Checkbox", "check", $sValue);
  54. echo "<BR>";
  55.  
  56. $cForm->makeSubmit("submit", "Testen");
  57. // maak een nieuwe submit knop
  58. // naam: submit
  59. // waarde: Inloggen
  60.  
  61. $cForm->makeReset("reset", "Leeg velden");
  62. // maak een nieuwe reset knop
  63. // naam: reset
  64. // waarde: Leeg velden
  65.  
  66. $cForm->endForm();
  67. } else
  68. {
  69. if(!IsSet($_POST['username']))
  70. {
  71. $cForm->showError("username");
  72. } else if(!IsSet($_POST['email']))
  73. {
  74. $cForm->showError("email");
  75. } else if(!IsSet($_POST['website']))
  76. {
  77. $cForm->showError("website");
  78. } elseif(!IsSet($_POST['text']))
  79. {
  80. $cForm->showError("bericht");
  81. } else
  82. {
  83. if($cForm->checkEmail($_POST['email']) != TRUE)
  84. {
  85. $cForm->showError("email");
  86. } else if($cForm->checkURL($_POST['website']) != TRUE)
  87. {
  88. $cForm->showError("website");
  89. } else
  90. {
  91. $cForm->showMessage($_POST['username'], "normaal");
  92. echo "<BR>";
  93. $cForm->showMessage($_POST['email'], "email");
  94. echo "<BR>";
  95. $cForm->showMessage($_POST['website'], "website");
  96. echo "<BR>";
  97. $cForm->showMessage($_POST['text'], "normaal");
  98. }
  99. }
  100. }
  101. ?>
Download code! Download code (.txt)

 Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (10)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.056s