2015-09-27 42 views
0

這是我的html表單。從這裏我傳遞3個值到我的ajax無法在PHP中使用AJAX存儲變量值

<div class="form-container"> 
    <h3>Drop me a line</h3> 
    <p id="response"></p> 
    <form role="form" id="form"> 
<div class="form-group"> 
    <input type="text" class="form-control" id="name" name="name" placeholder="Name"> 
</div> 
<div class="form-group"> 
    <input type="email" class="form-control" id="email" name="email" placeholder="Email Address"> 
</div> 
<div class="form-group"> 
    <textarea rows="4" class="form-control" cols="50" id="message1" name="message" placeholder="Message"></textarea> 
</div> 
<button type="submit" id="email-button" class="btn btn-danger btn-contact">Submit</button> 
</form> 
</div> 

在這裏,我用Ajax發送電子郵件。從這裏我可以順利通過所有這3個參數。我通過調試檢查了鉻。我得到所有3個值。

這是我的AJAX電話。

$(document).ready(function(){ 
    $('#email-button').click(function() { 
      name = $('#name').val(); 
      email = $('#email').val(); 
      message2 = $('#message1').val(); 
      $.ajax({ 
        type: "POST", 
        url: "email.php", 
        data: "name=" + name + "email=" + email + "message3=" + message2, 

        success: function (html) { 
        if (html == "true") { 
         $('#form').remove(); 
         $('#response').html("<p>Thank you for your message. I'll get back to you ASAP </p>"); 
        } 
        else { 
         $('#form').remove(); 
         $('#response').html("<p> Something Wrong </p>"); 

        } 
        } 
        }); 
         return false; 

        }); 
        }); 

但在我的PHP代碼,我不能夠存儲任何東西$message變量。它沒有在這個變量中存儲任何值。我嘗試使用echo $message,但它顯示出空字符串。

THIS IS MY email.php FILE

<?php 
    if(isset($_POST['name'])) { 
     $name = addslashes(strip_tags($_POST['name'])); 
    } 
    if(isset($_POST['email'])) { 
     $email = addslashes(strip_tags($_POST['email'])); 
    } 
    if(isset($_POST['message3'])) { 
     $message = addslashes(strip_tags($_POST['message3'])); 
    } 

     $header = "Name:" . $name . "Email:" . $email ; 
     $to = "[email protected]"; 
     $subject = "From My website"; 

     mail($to, $subject, $message, $header); 
     echo "true"; 
    ?> 

即使在郵件,我只得到了主題。不是標題也不是消息。我無法找到我的錯誤。我通過echo $頭獲得姓名和電子郵件;但使用相同的語法,我無法看到$消息。它只給我空字符串。

+0

那麼_does_'$ _POST'包含哪些內容? – arkascha

回答

1

嘗試這樣

data:{"name": name, "email" : email, "message3" : message2} 
+0

謝謝它的工作原理。 –

+0

@SagarShah歡迎您:) –