HTML5主题

时间:2016-08-25 04:49:34

标签: php html5 contact-form

请原谅我,因为这可能有一个非常简单的解决方案,我只是非常缺乏经验。

我正在使用Massive HTML5主题,无法让我的联系表单生效。我以为我遵循了指示,但是当我点击提交时仍然没有任何反应。



<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>
&#13;
&#13;
&#13;

<?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( "myemail@mail.com", $_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
    }
}

当然,我将myemail@mail.com更改为我的地址。

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

  

mail()函数如果邮件成功接受传递,则返回TRUE,否则返回FALSE。

     

重要的是要注意,仅仅因为邮件被接受传递,并不意味着邮件实际上将到达预定目的地。

请参阅Documentation

你还可以通过其他php库发送phpmailer等邮件。

答案 1 :(得分:0)

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

删除&amp;&amp; isset($ _ POST ['subject'])&amp;&amp;来自if条件的isset($ _ POST ['comments'])因为它们没有HTML主题表单中的主题和注释的输入。

答案 2 :(得分:0)

如果您使用的是Windows,请使用XAMPP,如果在Mac上使用MAMP

如果没有任何服务器端连接,则

PHP联系表单将无效。我遇到了和你现在类似的问题。有关详细信息,请查看我的帖子Configuration issue with PHP contact form