2013-09-21 155 views
-5

我有这个简单的形式为用户提交他们的电子邮件地址:PHP提交表单不敛输入值

<form method="post" action="contact.php"> 
<input type="text" name="signup" placeholder="ENTER EMAIL"> 
<button id="nSign" type="submit" name="newsSubmit" class="btn-primary">Submit</button> 
</form> 

现在我有这样的代码来获取电子邮件地址,然后发送电子邮件地址到另一个电子邮件地址:

$to = "[email protected]"; 
$subject = "Newsletter Signup"; 
$email = $_POST["signup"]; 
$message = "Newsletter request from".$email; 
$headers = "From: Contact Page Newsletter Signup";      
$sent = mail($to, $subject, $message, $headers); 

if($sent) { 
print "<p>Your mail was sent successfully.</p>"; 
} 
else { 
print "<p>We encountered an error sending your mail</p>"; 
}      

现在,当我进入我的电子邮件,并按下提交,我收到一封电子邮件,用适当的标题,主题,但该消息不包括$电子邮件变量。它似乎不像$ _POST [“注册”]抓住用户输入。

我完全不熟悉PHP;这个网站也是在WordPress的,所以我不确定是否有任何可能导致这个问题的WordPress的。请帮助为什么这不起作用,并感谢您的反馈!

+0

代码的其余部分在哪里? – Prix

+1

你在哪里包含消息中的$ email变量? – David

+1

您正在执行两次'mail(..)'。你应该把它保存在一个变量中:'$ mail_res = mail(..)',然后检查变量是否成功:'if($ mail_res){..}' – Joren

回答

3

您需要获取输入的值。这样:

$email = $_POST["signup"]; 

现在,变量$ email,在电子表格中输入一个电子邮件。