2016-08-25 47 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