如何构建表单验证

时间:2014-03-27 15:48:04

标签: php

我一直在尝试验证我的表单,但没有任何事情发生。无论字段是空白还是填写,我都会通过电子邮件收到表格。请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");

      ?>

0 个答案:

没有答案