ik heb een bestaand formulier maar nu wil ik er een postcode check en telefoonnummer check invoeren.. maar wanneer ik deze script erinvoer doet die niks..
wat doe ik fout?
<?php
if(function_exists('date_default_timezone_set')) { date_default_timezone_set('Europe/Amsterdam'); }
define('LF', "\n");
// Get a value from the $_POST array (case insensitive!!)
function getPost($key, $trim = false, $lowercase = false, $int = false)
{
if(isset($_POST[$key]))
{
$v = stripslashes($_POST[$key]);
if($trim)
{
$v = trim($v);
}
if($int)
{
$v = intval($v);
}
elseif($lowercase)
{
$v = strtolower($v);
}
return $v;
}
return '';
}
// Default values
$field_1 = '';
$field_2 = '';
$field_3 = '';
$field_4 = '';
$sHtml = '';
$sFormError = '';
// Process form
if(empty($_POST['form']) == false)
{
$field_1 = getPost('field_1', true);
if(strlen($field_1) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_2 = getPost('field_2', true);
if(strlen($field_2) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_3 = getPost('field_3', true);
if(strlen($field_3) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_4 = getPost('field_4', true);
if(strlen($field_4) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
}
if (isset($_REQUEST['field_2']))
// Als telefoonnummer is ingevuld, ga verder
// controleer telefoonnummer
if(preg_match("/^[0-9]{2}-[0-9]{8}$/",$_REQUEST['field_2']) OR preg_match("/^[0-9]{3}-[0-9]{7}$/",$_REQUEST['field_2']) OR preg_match("/^[0-9]{4}-[0-9]{6}$/",$_REQUEST['telnr']) OR preg_match("/^[0-9]{10}$/",$_REQUEST['field_2']))
{
// controleer postcode
if (preg_match("/[0-9]{4}[ ]?[a-z]{2}/i", trim($_REQUEST['field_3'])))
{
// Verstuur email
// Haal het streepje weg, in de email, tussen het telefoonnummer
$field_2 = str_replace('-', '', $_REQUEST['field_2']);
// Haal de spatie weg tussen de cijfers en letters postcode
$field_3 = str_replace(' ', '', $_REQUEST['field_3']);
// Show formz
if(empty($_POST['form']) || $sFormError)
{
$sHtml .= '<form action="" method="post">
<input name="form" type="hidden" value="form1">
<p><h1>Vul a.u.b. het onderstaande formulier in</h1></p>
' . $sFormError . '
<center><BR><table border="0" cellpadding="3" cellspacing="0"><tr>
<td align="left" valign="top">Naam *</td>
<td align="left" valign="top"><input name="field_1" type="text" value="' . htmlentities($field_1) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Postcode *</td>
<td align="left" valign="top"><input name="field_2" type="text" value="' . htmlentities($field_2) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Telefoonnummer *</td>
<td align="left" valign="top"><input name="field_3" type="text" value="' . htmlentities($field_3) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Bericht *</td>
<td align="left" valign="top"><textarea name="field_4" cols="40" rows="6">' . htmlentities($field_4) . '</textarea></td>
</tr>
<tr>
<td align="left" valign="top"> </td>
<td align="left" valign="top"><input type="submit" value="Verzenden"></td>
</table>
</center>
</form>';
}
else // Send form
{
$mail_to = '[email protected]';
$mail_from = '[email protected]';
$mail_subject = 'Contact formulier';
$mail_message = 'Formuliergegevens: ' . LF . LF
. 'Naam: ' . $field_1 . LF
. 'E-mail: ' . $field_2 . LF
. 'Telefoonnummer: ' . $field_3 . LF
. 'Bericht: ' . $field_4 . LF
. LF
. 'IP: ' . $_SERVER['REMOTE_ADDR'] . ', Datum: ' . date('d-m-Y') . ', Tijd: ' . date('H:i:s');
mail($mail_to, $mail_subject, $mail_message, 'From: ' . $mail_from);
$sHtml .= '<h1>Formulier verzonden</h1><p>Hartelijk dank voor het invullen van het formulier.</p>';
}
echo $sHtml;
?>