我一直在尝试验证我的表单,但没有任何事情发生。无论字段是空白还是填写,我都会通过电子邮件收到表格。请soemone请通过php新手浏览一下php?这个bug在哪里?我在selfhtml上找到了php并修改了它以进行验证。
这是我的表格:
<form action="../php/terminform_trial.php" method="post" name="termine">
<dl>
<dt><label for="name" >Name</label></dt>
<dd><input type="text" name="name" value=""></dd>
<dt><label for="vorname" value="">Vorname</label></dt>
<dd><input type="text" name="vorname" value=""></dd>
<dt><label for="geburtsdatum" value="">Geburtsdatum</label></dt>
<dd><input type="text" name="geburtsdatum" value=""></dd>
<dt><label for="telefon" value="">Telefon tagsüber </label></dt>
<dd><input type="text" name="telefon" value=""></dd>
<dt><label for="mobile">Mobile </label></dt>
<dd><input type="text" name="mobile" value=""></dd>
<dt><label for="email">E-Mail Adresse <span class="error"></dt>
<dd> <input type="text" name="email" value=""></dd>
</dl>
</form>
这是我尝试验证表单的php。
<?php
function validateInput($input) {
if (!preg_match!("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{if (empty($_POST["email"]))
{$emailErr = "Bitte eine gültige E-Mail Adresse eingeben";}// handle error
}
else {
return true;}
}
foreach ($_POST as $fieldname => $value) {
if (is_array($value))
{
foreach ($value as ($einzelwert) === TRUE)
{$mailtext .= $fieldname.$seperator.$einzelwert."\n";}
} elseif (validateInput($einzelwert))
{$mailtext .= $fieldname.$seperator.$value."\n";}
}
mail($myemail, mb_encode_mimeheader
($subject, "utf-8", "Q"),
$mailtext,
$header)
or die("Ihre Nachricht konnte nicht versendet werden.");
header("Location: http://www.giz-zuerich.ch/_private/sites/danke.html");
exit;
}
header("Content-type: text/html; charset=utf-8");
?>