2016-08-18 117 views
-2

我有一個問題,我無法弄清楚,如果它的我的PHP或服務器問題。PHP HTML5聯繫表格不發送

我在同一頁面創建了一個聯繫表單'contact.php',它的所有內容都是PHP的HTML &。

我檢查了一遍又一遍的代碼,找不到任何錯誤。我沒有收到最終目標電子郵件中的任何電子郵件。誰能幫我?這是我的代碼有

這裏是我的電子郵件代碼:

$to = 'MY EMAIL ADDRESS GOES HERE'; 
    $subject = 'New Contact Submission on '; 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 

$body = <<<EMAIL 

    Hi! My name is $name 

    My Email is $email 

    $message 


    EMAIL; 

     $header = "from: $email"; 

     if($_POST){ 
     if($name == '' || $email == '' || $message == ''){ 
      $feedback = 'Please Fill all areas'; 

     }else{ 

      mail($to, $subject, $body, $header); 
     $feedback = 'Thank you! We will contact you soon!'; 

     } 
    } 


?> 


下面是聯繫表格我的HTML代碼。記住,我在1個'contact.php'文件中有這個。

     <form action="" method="post"> 
          <div class="col-md-12"> 
           <div class="form-group"> 
            <label for="name" class="sr-only" >Name</label> 
            <input placeholder="Name" id="name" type="text" class="form-control input-lg"> 
           </div> 
          </div> 
          <div class="col-md-12"> 
           <div class="form-group"> 
            <label for="email" class="sr-only" >Email</label> 
            <input placeholder="Email" id="email" type="text" class="form-control input-lg"> 
           </div> 
          </div> 

          <div class="col-md-12"> 
           <div class="form-group"> 
            <label for="message" class="sr-only" >Message</label> 
            <textarea placeholder="Message" id="message" class="form-control input-lg" rows="3"></textarea> 
           </div> 
          </div> 
          <div class="col-md-12"> 
           <div class="form-group"> 
            <input type="submit" class="btn btn-primary btn-lg " action="" value="Send"> 
            <p id="feedback"><?php echo $feedback;?></p> 
           </div> 
          </div> 


         </form> 
+1

請[格式](http://stackoverflow.com/help/formatting )您的帖子正確。 – Script47

+0

另請[read](http://php.net/manual/en/tutorial.forms.php)如何處理表單。 – Script47

+1

是的,我放棄編輯這個。格式化時不要使用'>'字符,也不要使用'##'。 –

回答

0

我不能告訴如果兩個單引號或一個雙引號

if($_POST){ if($name == " || $email == " || $message == ") 

這是不正確的?你的意思是

if($_POST){ if($name == " " || $email == " " || $message == " ") 
+0

如果你在編輯模式下查看他們的代碼(這可能是一個混亂,我可能會添加),你會發現他們已經聲明瞭'$ name = $ _POST ['name'];'條件。 –

+0

另一個編輯正在等待審查....感謝您的提示,雖然 – brad

+0

我批准了編輯,所以我們會看到看起來像什麼。 *歡呼* –

1

我注意到你關閉了一個if語句括號兩次,並關閉了另一個錯誤的地方。

您還沒有爲所有HTML輸入添加名稱。

該修正代碼工作...

PHP

<?php 

    $to = 'Your email'; $subject = 'New Contact Submission on '; 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 

    $body = "Hi! My name is $name 

    My Email is $email 

    $message"; 

    $header = "from: $email"; 

    if($_POST){ 
     if($name == '' || $email == '' || $message == ''){ 
      $feedback = 'Please Fill all areas'; 
     } 
    }else{ 

     mail($to, $subject, $body, $header); 
     $feedback = 'Thank you! We will contact you soon!'; 

    } 

?> 

HTML

<form action="" method="post"> 
    <div class="col-md-12"> 
     <div class="form-group"> 
      <label for="name" class="sr-only" >Name</label> 
      <input placeholder="Name" id="name" type="text" class="form-control input-lg" name="name"> 
     </div> 
    </div> 
    <div class="col-md-12"> 
     <div class="form-group"> 
      <label for="email" class="sr-only" >Email</label> 
      <input placeholder="Email" id="email" type="text" class="form-control input-lg" name="email"> 
     </div> 
    </div> 

    <div class="col-md-12"> 
     <div class="form-group"> 
      <label for="message" class="sr-only" >Message</label> 
      <textarea placeholder="Message" id="message" class="form-control input-lg" rows="3" name="message"></textarea> 
     </div> 
    </div> 
    <div class="col-md-12"> 
     <div class="form-group"> 
      <input type="submit" class="btn btn-primary btn-lg " action="" value="Send"> 
      <p id="feedback"><?php echo $feedback;?></p> 
     </div> 
    </div> 
</form> 
+0

嗨Yudi!謝謝!我只是試過這段代碼,它似乎可行,但它不會將電子郵件發送到最終目的地,這是我需要從那裏去的地方。任何想法,如果它的任何東西在服務器上或這裏?謝謝! – Accu1

+0

@ Accu1我在phpfiddle.org上測試過,郵件發送到我的郵箱,所以我說這是你的服務器的問題。我真的很感激,如果你會以最佳答案作爲獎勵,因爲我是新人,需要支持,謝謝! –

+0

嗨,它可以工作,但是,我的服務器返回這個錯誤「數據結束後來自遠程郵件服務器的SMTP錯誤:550郵件應該有一個或沒有來自標題,而不是2.」任何幫助?謝謝 – Accu1