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

あなたのURLは何ですか? – sloaxleak

答えて

0

mail()関数メールが配信に正常に受け入れられた場合はTRUEを返し、それ以外の場合はFALSEを返します。

メールが配信されたという理由だけで、メールが実際に目的の場所に届くわけではありません。

Documentationを参照してください。

あなたはphpmailerのようなメールを送信するための他のPHPライブラリもできます。

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を使用すると、自分のコンピュータは自分がホストだと思うようになります。 Btw、contact-us.phpへのパスは正しいですか? – alljamin

関連する問題