2016-06-20 8 views
0

HTMlフォームをPHPの連絡先コードにリンクしようとしていますが、動作しません。メールは送信されません。私は、サーバー上のすべてのPHP設定がOKであることを知っています。私はシングルページ形式のテストを行い、メールを受け取りました。HTMLフォームのPHPメール

あなたは何が間違っているかも知っていますか?

ありがとうございました!

HTMLのCODE:

<section id="contact-full"> 
 
\t \t <div class="container"> 
 
\t \t \t <h2 class="title">Message</h2> 
 
\t \t 
 
\t \t \t <form action="scripts/contact.php" role="form" id="contact_form" novalidate> 
 
\t \t \t \t <div class="form-group"> 
 
\t \t \t \t \t <input type="text" class="form-control" id="contact_name" placeholder="Full name" name="name"> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="form-group"> 
 
\t \t \t \t \t <input type="email" class="form-control" id="contact_email" placeholder="Email Address" name="email"> 
 
\t \t \t \t </div> 
 
\t \t \t \t <div class="form-group"> 
 
\t \t \t \t \t <textarea class="form-control" rows="4" placeholder="Your message or question" id="contact_message" name="message"></textarea> 
 
\t \t \t \t </div> 
 
\t \t \t \t <button type="submit" id="contact_submit" data-loading-text="•••" class="btn btn-lg btn-block btn-primary"><i class="icon icon-paper-plane"></i>Send</button> 
 
\t \t \t </form> 
 
\t \t </div> 
 
\t </section>

PHPコード:

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    if(!empty($_POST['contactname']) && !empty($_POST['contactemail']) && !empty($_POST['contactmessage'])) { 
    $to = '[email protected]'; // Your e-mail address here. 
    $body = "\nName: {$_POST['contactname']}\nEmail: {$_POST['contactemail']}\n\n\n{$_POST['contactmessage']}\n\n"; 
    mail($to, "Message from yoursite.com", $body, "From: {$_POST['contactemail']}"); // E-Mail subject here. 
    } 
} 
?> 
+0

フォームメソッドがPOSTに設定されていません。 –

+0

あなたは誤った入力名をチェックしています。 – aynber

+0

「POST」で 'REQUEST_METHOD'を置き換えなければならないということですか? –

答えて

0

あなたはいくつかのことを逃しています。

まず、HTMLコードで<form>タグにmethod = "POST"を追加する必要があります。

第2に、PHPコードでは、間違った名前をすべて$_POSTで取得します。次のように変更します。

if(!empty($_POST['contactname']) && !empty($_POST['contactemail']) && !empty($_POST['contactmessage'])) 

if(!empty($_POST['contact_name']) && !empty($_POST['contact_email']) && !empty($_POST['contact_message'])) 

そして、それらのオブジェクトを呼び出すコードの他のすべての部分に。

+0

ありがとうございます! $オブジェクトが問題を引き起こしているのはなぜですか? contact_emailを使用すると、メールは送信者に送信されます。 –

+0

ああ、それは正しいです。私はあなたが 'contact_email'変数をどのように使っていたのか分かりませんでしたが、今はそれが返信メールであることがわかりました。私の間違い –

+0

いいえprob。しかし、まだ動作していないようです: -/ –

関連する問題