Scripts
Formulier velden vergeten
Dit is een handige functie die je kunt gebruiken voor een simpel formulier. Hij kijkt alleen of hij wel of niet is ingevuld. Er werd mij vaak gevraagd om een formulier te bouwen en vond het dan lastig om steeds alles in de 'if' regel te schrijven. Ook omdat ik het wel netjes vind dat een veld rood wordt omlijnd wanneer deze niet is ingevuld, heb ik deze functie geschreven. Er zijn ook diverse andere form handlers die op OOP basis werken, maar voor snel en makkelijk gebruik is dit aan te raden!
formulier-velden-vergeten
[code]<html>
<head>
<title>Velden vergeten</title>
<style type="text/css">
.forgotten {
border: 1px solid #ff0000;
}
</style>
</head>
<body>
<?php
//----- function to check required fields
function CheckRequired($array)
{
//----- check if $array is not empty
if (!empty($array))
{
//----- loop through the array and check if the value's been set
foreach ($array as $value)
{
if (empty($_POST[$value]))
$form_error[] = $value;
}
}
//--- return an array with missed fields
return $form_error;
}
//----- check for required fields
if ($_SERVER['REQUEST_METHOD'] == 'POST')
$required_fields = CheckRequired(array('name', 'email', 'message'));
//----- check if all required fields are entered
if ($_SERVER['REQUEST_METHOD'] == 'POST' && empty($required_fields))
{
echo 'Verwerk formulier';
}
else
{
//----- if form's been posted before, there are some fields left undone
if (!empty($required_fields))
{
$i = 1;
foreach ($required_fields as $value)
{
// echo 'U forgot the field: ' . ucfirst($value) . '.<br />';
$varname = 'class_' . $value;
${$varname} = 'class=forgotten';
$i++;
}
}
//----- start form
echo "<form method=\"POST\" action=\"" . $_SERVER['PHP_SELF'] . "\">";
echo "<p>";
echo "<input type=\"text\" name=\"name\" value=\"" . htmlentities($_POST['name']) . "\" " . $class_name . " /> Name<br />";
echo "<input type=\"text\" name=\"email\" value=\"" . htmlentities($_POST['email']) . "\" " . $class_email . " /> E-mail adres<br />";
echo "<textarea name=\"message\" rows=\"8\" cols=\"\" style=\"width: 400px\" " . $class_message . ">" . htmlentities($_POST['message']) . "</textarea><br />";
echo "<input type=\"submit\" name=\"submit\" value=\" Versturen \" />";
echo "</p>";
echo "</form>";
}
?>
</body>
</html>[/code]
Reacties
0