2015-09-27 70 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欢迎您:) –