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]
<?PHP
class form
{
function beginForm($sType, $sAction)
{
echo "<form method='".$sType."' action='".$sAction."'>";
}
function makeField($sDesc, $sType, $sName, $sValue, $iMaxlength)
{
echo $sDesc.": <input type='".$sType."' name='".$sName."' value='".$sValue."' maxlength='".$iMaxlength."'>";
}
function makeTextarea($sDesc, $sName, $iRows, $iCols, $sValue)
{
echo $sDesc.": <textarea name='".$sName."' rows='".$iRows."' cols='".$iCols."'>".$sValue."</textarea>";
}
function makeSelect($sDesc, $sName, $sValue)
{
echo $sDesc;
$iAantal = count($sValue);
echo "<select name='select'>";
for($i = 0; $i < $iAantal; $i++)
{
echo "<option value='".$sValue[$i]."'>".$sValue[$i]."</option>";
}
echo "</select>";
}
function makeRadio($sDesc, $sName, $sValue)
{
echo $sDesc;
$iAantal = count($sValue);
for($i = 0; $i < $iAantal; $i++)
{
echo $sValue[$i].": <input type='radio' name='".$sName."' value='".$sValue[$i]."'>";
}
}
function makeCheckBox($sDesc, $sName, $sValue)
{
echo $sDesc.": ";
$iAantal = count($sValue);
for($i = 0; $i < $iAantal; $i++)
{
echo $sValue[$i].": <input type='checkbox' name='".$sName."' value='".$sValue[$i]."'>";
}
}
function makeSubmit($sName, $sValue)
{
echo "<input type='submit' name='".$sName."' value='".$sValue."'>";
}
function makeReset($sName, $sValue)
{
echo "<input type='reset' name='".$sName."' value='".$sValue."'>";
}
function endForm()
{
echo "</form>";
}
function checkEmail($sEmail)
{
if(preg_match("/^([a-z0-9_-]+.)*?[a-z0-9_-]+@([a-z0-9-_]{2,}).[a-z0-9-_]*(.[a-z0-9- _]{2,})*$/i", $sEmail))
{
return true;
} else
{
return false;
}
}
function checkURL($sUrl)
{
if(ereg("http:[/][/]|www.)([a-z]|[A-Z]|[0-9]|[/.]|[~])", $sUrl))
{
return true;
} else
{
return false;
}
}
function showError($sType)
{
echo "Je hebt je <B>".$sType."</B> niet (correct) ingevuld!<BR>";
echo "<A HREF='javascript:history.go(-1);'>Keer terug!</A>";
}
function showMessage($sMessage, $sType)
{
if($sType == "normaal")
{
echo addslashes($sMessage);
} else if($sType == "email")
{
echo "<A HREF='mailto:".addslashes($sMessage)."'>".addslashes($sMessage)."</A>";
} else if($sType == "website")
{
echo "<A HREF='".addslashes($sMessage)."'>".addslashes($sMessage)."</A>";
}
}
}
?>
<?PHP class form { function beginForm($sType, $sAction) { echo "<form method='".$sType."' action='".$sAction."'>"; } function makeField($sDesc, $sType, $sName, $sValue, $iMaxlength) { echo $sDesc.": <input type='".$sType."' name='".$sName."' value='".$sValue."' maxlength='".$iMaxlength."'>"; } function makeTextarea($sDesc, $sName, $iRows, $iCols, $sValue) { echo $sDesc.": <textarea name='".$sName."' rows='".$iRows."' cols='".$iCols."'>".$sValue."</textarea>"; } function makeSelect($sDesc, $sName, $sValue) { $iAantal = count($sValue); echo "<select name='select'>"; for($i = 0; $i < $iAantal; $i++) { echo "<option value='".$sValue[$i]."'>".$sValue[$i]."</option>"; } } function makeRadio($sDesc, $sName, $sValue) { $iAantal = count($sValue); for($i = 0; $i < $iAantal; $i++) { echo $sValue[$i].": <input type='radio' name='".$sName."' value='".$sValue[$i]."'>"; } } function makeCheckBox($sDesc, $sName, $sValue) { $iAantal = count($sValue); for($i = 0; $i < $iAantal; $i++) { echo $sValue[$i].": <input type='checkbox' name='".$sName."' value='".$sValue[$i]."'>"; } } function makeSubmit($sName, $sValue) { echo "<input type='submit' name='".$sName."' value='".$sValue."'>"; } function makeReset($sName, $sValue) { echo "<input type='reset' name='".$sName."' value='".$sValue."'>"; } function endForm() { } function checkEmail($sEmail) { if(preg_match("/^([a-z0-9_-]+.)*?[a-z0-9_-]+@([a-z0-9-_]{2,}).[a-z0-9-_]*(.[a-z0-9- _]{2,})*$/i", $sEmail)) { return true; } else { return false; } } function checkURL($sUrl) { if(ereg("http:[/][/]|www.)([a-z]|[A-Z]|[0-9]|[/.]|[~])", $sUrl)) { return true; } else { return false; } } function showError($sType) { echo "Je hebt je <B>".$sType."</B> niet (correct) ingevuld!<BR>"; echo "<A HREF='javascript:history.go(-1);'>Keer terug!</A>"; } function showMessage($sMessage, $sType) { if($sType == "normaal") { } else if($sType == "email") { } else if($sType == "website") { } } } ?>
voorbeeld.php
<?PHP
include("formclass.php");
$cForm = new form;
if(!IsSet($_POST['submit']))
{
$cForm->beginForm("POST", "voorbeeld.php");
// begin een nieuw formulier
// methode: post
// actie: pagina.php
$cForm->makeField("Username", "text", "username", "", "30");
// maak een invoer veld
// Omschrijving: username
// type: text
// naam: username
// waarde: -
// max. lengte: 30
echo "<BR>";
$cForm->makeField("Email", "text", "email", "", "30");
// maak een invoer veld
// Omschrijving: email
// type: text
// naam: email
// waarde: -
// max. lengte: 30
echo "<BR>";
$cForm->makeField("Website", "text", "website", "", "30");
// maak een invoer veld
// Omschrijving: website
// type: text
// naam: website
// waarde: -
// max. lengte: 30
echo "<BR>";
$cForm->makeTextarea("Bericht", "text", "5", "20", "");
// maak een textarea
// Omschrijving: bericht
// naam: text
// rijen: 20
// kolommen: 20
// waarde: -
echo "<BR>";
$sValue = array();
$sValue[0] = "Hallo";
$sValue[1] = "Hoi";
$sValue[2] = "Hai";
// array maken met de waarden voor de select, radio en checkbox
$cForm->makeSelect("Select", "select", $sValue);
echo "<BR>";
$cForm->makeRadio("Radio", "radio", $sValue);
echo "<BR>";
$cForm->makeCheckBox("Checkbox", "check", $sValue);
echo "<BR>";
$cForm->makeSubmit("submit", "Testen");
// maak een nieuwe submit knop
// naam: submit
// waarde: Inloggen
$cForm->makeReset("reset", "Leeg velden");
// maak een nieuwe reset knop
// naam: reset
// waarde: Leeg velden
$cForm->endForm();
} else
{
if(!IsSet($_POST['username']))
{
$cForm->showError("username");
} else if(!IsSet($_POST['email']))
{
$cForm->showError("email");
} else if(!IsSet($_POST['website']))
{
$cForm->showError("website");
} elseif(!IsSet($_POST['text']))
{
$cForm->showError("bericht");
} else
{
if($cForm->checkEmail($_POST['email']) != TRUE)
{
$cForm->showError("email");
} else if($cForm->checkURL($_POST['website']) != TRUE)
{
$cForm->showError("website");
} else
{
$cForm->showMessage($_POST['username'], "normaal");
echo "<BR>";
$cForm->showMessage($_POST['email'], "email");
echo "<BR>";
$cForm->showMessage($_POST['website'], "website");
echo "<BR>";
$cForm->showMessage($_POST['text'], "normaal");
}
}
}
?>
<?PHP include("formclass.php"); $cForm = new form; if(!IsSet($_POST['submit'])) { $cForm->beginForm("POST", "voorbeeld.php"); // begin een nieuw formulier // methode: post // actie: pagina.php $cForm->makeField("Username", "text", "username", "", "30"); // maak een invoer veld // Omschrijving: username // type: text // naam: username // waarde: - // max. lengte: 30 $cForm->makeField("Email", "text", "email", "", "30"); // maak een invoer veld // Omschrijving: email // type: text // naam: email // waarde: - // max. lengte: 30 $cForm->makeField("Website", "text", "website", "", "30"); // maak een invoer veld // Omschrijving: website // type: text // naam: website // waarde: - // max. lengte: 30 $cForm->makeTextarea("Bericht", "text", "5", "20", ""); // maak een textarea // Omschrijving: bericht // naam: text // rijen: 20 // kolommen: 20 // waarde: - $sValue[0] = "Hallo"; $sValue[1] = "Hoi"; $sValue[2] = "Hai"; // array maken met de waarden voor de select, radio en checkbox $cForm->makeSelect("Select", "select", $sValue); $cForm->makeRadio("Radio", "radio", $sValue); $cForm->makeCheckBox("Checkbox", "check", $sValue); $cForm->makeSubmit("submit", "Testen"); // maak een nieuwe submit knop // naam: submit // waarde: Inloggen $cForm->makeReset("reset", "Leeg velden"); // maak een nieuwe reset knop // naam: reset // waarde: Leeg velden $cForm->endForm(); } else { if(!IsSet($_POST['username'])) { $cForm->showError("username"); } else if(!IsSet($_POST['email'])) { $cForm->showError("email"); } else if(!IsSet($_POST['website'])) { $cForm->showError("website"); } elseif(!IsSet($_POST['text'])) { $cForm->showError("bericht"); } else { if($cForm->checkEmail($_POST['email']) != TRUE) { $cForm->showError("email"); } else if($cForm->checkURL($_POST['website']) != TRUE) { $cForm->showError("website"); } else { $cForm->showMessage($_POST['username'], "normaal"); $cForm->showMessage($_POST['email'], "email"); $cForm->showMessage($_POST['website'], "website"); $cForm->showMessage($_POST['text'], "normaal"); } } } ?>
Download code (.txt)
|
|
|
Stemmen |
Niet ingelogd. |
|