2017-01-06 9 views
-1

まず奇妙な方法で送って提出し、私は初心者です。だから、私はブートストラップ3.3.7でフォームを持っています。ボタンでクリックすると、「メッセージを送る」のサイトから直接メールを自動的に送信する必要があります。AJAXフォームは、すべての

name=Test&email=test%40hotmail.com&message=Test&submit=Send+Message 

これがなぜ起こるか誰もが知っています:私はそれが見通しを開きます(サイトから直接送信していない)とメッセージである「メッセージを送る」をクリックするとものの

? は、ここでは、コードです:

HTML:

<form action="" onsubmit="return submitForm();" method="POST" name="contactform" class="contact-form wow zoomIn" data-wow-delay="0.6s" id="contact-form"> 

アクションは、あなたがデータを送信URLです:

<form action="mailto:[email protected]?Subject=Exemple%20Contact" onsubmit="return submitForm();" method="post" name="contactform" class="contact-form wow zoomIn" data-wow-delay="0.6s" id="contact-form"> 
       <div class="col-md-6"> 
       <div class="row"> 
        <div class="col-md-12"> 

        <input placeholder="Name" class="input-field" name="name" required="" type="text"> 

       </div> 



       <div class="col-md-12"> 
        <input placeholder=" Email" class="input-field" name="email" required="" type="email"> 
       </div> 
       </div> 
      </div> 
      <div class="col-md-6"> 
       <textarea placeholder=" Message" class="input-field" name="message"></textarea> 
       <input value="Send Message" class="input-send submit" type="submit" name="submit"> 
      </div> 




      <div class="col-md-12 send no-show hidden-xs"><button class=" botao btn btn-sucess"><h4 class="">Mensagem enviada com sucesso! Entraremos em contato brevemente!</h4></button></div> 
     </form> 


JS: 

    function submitForm() { 
     $.ajax({type:'POST', url:'email-action.php', data:$('#contact-form').serialize(), 
     success: function(response) { 
     $('.submit').html('send'); 
     $('.send').removeClass('no-show'); 
     document.contactform.reset();         
     }});     
     return false; 

    } 



PHP: 

    $myemail = '[email protected]'; 

    if (isset($_POST['name'])) { 
    $name = strip_tags($_POST['name']); 
    $email = strip_tags($_POST['email']); 
    $message = strip_tags($_POST['message']); 
    echo "Name:".$name."<br>"; 
    echo "Email: ".$email."<br>"; 
    echo "Message: ".$message."<br>"; 

    $to = $myemail; 
    $email_subject = "Contact from site"; 
    $email_body = "You have received a new message. ". 
    " Here are the details:\n Name: $name \n ". 
    "Email: $email\n Message \n $message"; 
    $headers = "From: $myemail\n"; 
    $headers .= "Reply-To: $email"; 
    mail($to,$email_subject,$email_body,$headers); 
    } 

答えて

0

は、あなたもちょうどこの最初の行の聖霊降臨祭の変更、混同されています。同じURLの場合は空にすることができます。 PHPであなたはパラメータが配列でPOST取得することができ、

今方法がGETであり、そのために、データはあなたのURLに表示され、デフォルトではこの方法=「POST」:

は、このようなメソッドを置く必要です$_POST['someKey']を入力するか、URLにパラメータが必要な場合は、$_GET['otherKey']を使用してください(「name = Test & email = test%40hotmail.com & message = Test & submit =送信+メッセージ」)。

はこれも基本的なものです、あなたは、PHP W3Schoolsについてのいくつかのチュートリアルを勉強すべきコースの多くの良いWebページの聖霊降臨祭です。

グッドラック、そして私の悪い英語のため申し訳ありません。

+0

OK!ええ、私はハハのようにかなり混乱しています。 ありがとうございました! –

関連する問題