2012-04-03 120 views
0

我正在为通讯设置一个选择列表。下面是我的PHP脚本,这是工作,但是当我收到邮件,我无法看到邮件中的电子邮件地址,只有这个:php - 在邮件正文中显示电子邮件变量

电子邮件:

我怎样才能获得电子邮件变量在电子邮件中显示?

编辑:我使用jQuery/ajax发布表单,这就是为什么表单中没有帖子和动作。

PHP(newsletter.php)

<?php 

$to = "[email protected]"; 
$subject = "Send me the newsletter"; 

$email = $_POST['email']; 

$email = filter_var($email , FILTER_SANITIZE_EMAIL); 

$message = "Email: $email"; 

mail($to, $subject, $message, "From: [email protected]"); 

?> 

HTML

<form id="newsletter_signup"> 
<input type="text" name="email" id="email" placeholder="Email Address" /><input type="submit" value="Submit" class="submit_button" /> 
</form> 

jQuery的

$.ajax({ 
      type: "POST", 
      url: "newsletter.php", 
      data: $("input#email").val(), 
      success: function() { 
     $('#signup').html("<div id='message'></div>"); 
     $('#message').html("<h3>Blah, blah, blah!</h3>") 
     .css({color:"#00000", fontFamily: "Arial", fontSize: "12px"}) 
     .hide() 
     } 
    }); 
+1

您是否确定$ _POST ['email']有效且已设置?如果你没有告诉表单要POST到你的服务器,你怎么能期待一个$ _POST变量。表单方法默认为GET。 – Blake 2012-04-03 23:27:49

+0

我正在使用jquery/ajax发布表单。我的问题已经更新,包括ajax信息。 – chowwy 2012-04-04 01:34:10

回答

1

试试这个:

$.ajax({ 
      type: "POST", 
      url: "newsletter.php", 
      data: {"email" : $("input#email").val()}, 
      success: function() { 
     $('#signup').html("<div id='message'></div>"); 
     $('#message').html("<h3>Blah, blah, blah!</h3>") 
     .css({color:"#00000", fontFamily: "Arial", fontSize: "12px"}) 
     .hide() 
     } 
    }); 

还检查了jQuery的序列化方法(你可以只输入data: $("form").serialize())。 http://api.jquery.com/serialize/

+0

非常感谢。接受和upvoted。 – chowwy 2012-04-04 02:05:53

0

你的应该是

<form id="newlsetter_signup" method="POST" action=""> 
相关问题