【问题标题】:PHP Submit form not grabbing input value [closed]PHP提交表单没有获取输入值[关闭]
【发布时间】:2013-09-21 23:20:34
【问题描述】:

我有一个简单的表格供用户提交他们的电子邮件地址:

<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 = "someemailaddress@gmail.com";
$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>"; 
}                       

现在,在我输入我的电子邮件并按下提交后,我会收到一封带有正确标题和主题的电子邮件,但该邮件不包含 $email 变量。 $_POST["signup"] 似乎没有获取用户输入。

我对 PHP 完全陌生;该站点也在 Wordpress 上,所以我不确定 Wordpress 中是否有任何可能导致此问题的内容。请帮助说明为什么这不起作用,并感谢您的反馈!

【问题讨论】:

  • 其余代码在哪里?
  • 您在消息中实际在哪里包含$email 变量?
  • 您正在执行mail(..) 两次。您应该将其保存在变量中:$mail_res = mail(..),然后检查变量是否成功:if($mail_res) {..}
  • 你也应该小心;用户可能会向表单发送垃圾邮件并使您的邮箱和 smtp 服务器泛滥。
  • 我已经编辑了问题以包含正确的代码,对此感到抱歉并感谢您的反馈

标签: php forms


【解决方案1】:

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

$email = $_POST["signup"];

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多