2017-04-17 23 views
0

我試圖創建php電子郵件表格。表單基本上可以工作,但我想添加驗證功能,就像我在'name'上做的那樣 但是,當我清空'name'併發送一封電子郵件時,它不起作用。 任何幫助將非常感激。php電子郵件表格/ if/else如果/錯誤消息

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: [email protected]' . "\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); 
+0

好吧,可以詳細說明*它不工作時,我空'名稱'* ...?當您提交名稱爲空的表單時,$ _POST ['email']'實際上不是空的嗎? –

+0

添加了標籤,重新插入並省略了一些空的代碼行 – mickmackusa

回答

0

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

更好的是你已經用java腳本驗證了這個表單。我已經附加了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>