php电子邮件表单/ if / else if / error messages

时间:2017-04-17 00:42:51

标签: php html forms email post

我试图创建php电子邮件表单。表格基本上是有效的,但我想添加验证功能,就像我在'名字'上做的那样 但是,当我清空“姓名”并发送电子邮件时,它不起作用。 任何帮助将非常感激。

HTMLFILE

<form action="php_mini.php" method="post">

    Name:
    <input type="text" name="name">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>

    Email:
    <input type="text" name="email">
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>

    Phone:
    <input type="text" name ="phone">
    <br><br>

    Comment:
    <!--<textarea name="comment"></textarea>-->
    <!--<input type = "text" name = "comment">-->
    <textarea name="comment" rows="5" cols="40"></textarea>
    <span class="error">* <?php echo $nameErr;?></span>
    <br><br>

    <input type="submit" value="Submit">
</form>

PHP

echo '<pre>';
print_r( $_POST );
echo '</pre>';

$headers = 'MIME-Version: 1.0' . "\r\n" .
       'Content-type: text/html; charset=iso-8859-1' . "\r\n" . 
       'From:  Design_customers <customers.com' . " \r\n" .
       //'Reply-To: vader@deathstar.com' . "\r\n" .
       'X-Mailer: PHP/' . phpversion();
//error msg
$nameErr = $emailErr = $phoneErr = "";
$name = $email = $comment = $phone = "";    

//receiver   

if (empty($_POST["name"])) {
    $nameErr = "Name is required";
} else {
    $name = test_input($_POST["name"]);
}

$email = $_POST['email'];
/*$message = $_POST['comment'];*/
$message = 'You got a message from a customer.:

Name: '.$_POST['name'].' 
Email: '.$_POST['email'].'
Phone: '.$_POST['phone'].'
Comment: '.$_POST['comment'];
//sender
$from = 'From: Customer'; 

$subject = 'Customer Inquiry';

mail( $email, $subject, $message, $from );

1 个答案:

答案 0 :(得分:0)

使用if(isset($_POST["name"]))来停止错误。 [Notice: Undefined index: name in C........]

最好用java Script验证这个表单。我用javascript附加了你的表单的剪切部分。

<form action="" method="post" onsubmit="return(Validate());" name="myform">

    Name:
    <input type="text" name="name">
    <span class="error">* <div id="name_error" style="color:red;"></div> </span>
    <br><br>

</form>





<script type="text/javascript">
   <!--
      // Form validation code will come here.

      function Validate()
      {

         if( document.myform.name.value == "" )
         {
            alert( "Please provide your name!" );

            name_error.textContent = "Name is Required.!"; 
            document.myform.name.focus() ;
            return false;
         }


         return( true );
      }
   //-->
</script>