【问题标题】:Same page PHP order form not working同一页面 PHP 订单表格不起作用
【发布时间】:2014-06-05 10:32:45
【问题描述】:

我正在尝试为时事通讯构建一个简单的电子邮件提交表单。用户输入电子邮件地址,网站管理员收到他们的地址作为表单提交。用户必须停留在同一页面上,并且可能会提示一个 Javascript 框并表示感谢。我有这个,但它不工作:

<?php
// display form if user has not clicked submit
if (!isset($_POST["submit"]))
  {
  ?>
  <form name="contactform" method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

                    <input name="from" type="text" placeholder="Provide your e-mail address" class="newsletter_input" />
                    <input name="" type="submit" class="newsletter_submit" value="" />
                    <div class="clearfix"></div>
                </form> 

                <?php
  }
else
  // the user has submitted the form
  {
  // Check if the "from" input field is filled out
  if (isset($_POST["from"]))
    {
    $from = $_POST["from"]; // sender

    mail("webmaster@example.com","From: $from\n");
    echo "Thank you for sending us feedback";
    }
  }
?>

【问题讨论】:

  • 当您使用输入的电子邮件地址作为发件人(发件人:)时,您可能会将其归类为垃圾邮件。我建议将您自己的电子邮件设置为发件人,并将用户电子邮件放入内容中。

标签: php forms email


【解决方案1】:

这行 HTML 对我来说看起来不正确:

<input name="" type="submit" class="newsletter_submit" value="" />

您缺少此元素的name 属性。因为您正在检查是否设置了 $_POST['submit'],所以它应该是:

<input name="submit" type="submit" class="newsletter_submit" value="" />

没有它,!isset($_POST['submit']) 将始终返回 true

【讨论】:

    【解决方案2】:

    在第 24 行你应该做这样的事情

      mail('webmaster@example.com', 'From', $from);
    

    我希望它有效!

    【讨论】:

      猜你喜欢
      • 2014-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 1970-01-01
      相关资源
      最近更新 更多