2016-08-25 89 views
0

原諒我,因爲這可能有一個非常簡單的解決方案,我只是很缺乏經驗。關於HTML5主題的聯繫表格問題

我使用Massive HTML5主題,無法讓我的聯繫表單正常工作。我以爲我按照指示行事,但當點擊SUBMIT時仍然沒有任何反應。

<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 

 
<form method="post" action="contact-us.php" id="form" role="form" class="contact-comments"> 
 
    <div class="row"> 
 
    <div class="col-md-6 "> 
 
     <div class="form-group"> 
 
     <!-- Name --> 
 
     <input type="text" name="name" id="name" class=" form-control" placeholder="Name *" maxlength="100" required=""> 
 
     </div> 
 
     <div class="form-group"> 
 
     <!-- Email --> 
 
     <input type="email" name="email" id="email" class=" form-control" placeholder="Email *" maxlength="100" required=""> 
 
     </div> 
 
     <div class="form-group"> 
 
     <!-- phone --> 
 
     <input type="text" name="phone" id="phone" class=" form-control" placeholder="Phone" maxlength="100"> 
 
     </div> 
 
    </div> 
 
    <div class="col-md-6 form-group"> 
 
     <div class="form-group"> 
 
     <!-- Comment --> 
 
     <textarea name="text" id="text" class="cmnt-text form-control" placeholder="Comment" maxlength="400"></textarea> 
 
     </div> 
 
     <div class="form-group full-width"> 
 
     <button type="submit" class="btn btn-small btn-dark-solid "> 
 
      Send Message 
 
     </button> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</form>

<?php 
// Note: filter_var() requires PHP >= 5.2.0 
if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['comments']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 

    // detect & prevent header injections 
    $mailTest = "/(content-type|bcc:|cc:|to:)/i"; 
    foreach ($_POST as $key => $val) { 
     if (preg_match($mailTest, $val)) { 
      exit; 
     } 
    } 

    $headers = 'From: ' . $_POST["name"] . '<' . $_POST["email"] . '>' . "\r\n" . 
    'Reply-To: ' . $_POST["email"] . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

    $success = mail("[email protected]", $_POST['subject'], $_POST['comments'], $headers); 
    // Replace with your email 

    if ($success) { 
     ?> 
     <div style="color:#3c763d;padding:30px;text-align:center"> 
      <strong>Success!</strong> Message has been sent successfully. 
     </div> 
     <?php 
    } 
} 

當然,我改變[email protected]到我的地址。

感謝您的幫助。

+0

什麼是您的網址? – sloaxleak

回答

0

mail()函數如果郵件已成功接受傳遞,則返回TRUE,否則返回FALSE。

重要的是要注意,僅僅因爲郵件被接受交付,並不意味着郵件實際上會到達預定的目的地。

請參考Documentation

你也可以通過其他php庫發送郵件,比如phpmailer。

0
if (isset($_POST['name']) && isset($_POST['email']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) 

刪除& & isset($ _ POST [ '主題'])& & isset($ _ POST [ '意見'])從你的,如果條件作爲他們都在你的HTML表單對象名稱和註釋沒有輸入。

0

如果你在Windows上,然後使用XAMPP,如果在Mac上使用MAMP

如果沒有任何服務器端連接,PHP聯繫表格將不起作用。我現在有類似的問題。欲瞭解更多信息,請查看我的文章Configuration issue with PHP contact form

+0

我一直在上傳到我的主機,所以這不是問題,對嗎? –

+0

@RebeccaWalsh但是你仍然可能想測試你的代碼是否在本地工作,而不是直接上傳到主機。使用XAMPP或MAMP,您可以讓您的計算機認爲他是主機。順便說一下,是你的聯繫方式的路徑 - us.php正確嗎? – alljamin