【问题标题】:Php form failingphp表单失败
【发布时间】:2013-06-25 16:39:56
【问题描述】:

我在这里阅读了很多帖子,其中一些与我有同样的问题,我只是没有碰巧发现我的问题。我对php很陌生。

我正在尝试向一个包含详细信息的电子邮件地址发送表单,但到目前为止,电子邮件没有发送出去。

这是我的代码,

        <?php 
          if ($_POST["email"]<>'') { 
              $ToEmail = 'vanessa@warroominc.com'; 
              $EmailSubject = 'Video Production Contact Form'; 
              $mailheader = "From: ".$_POST["email"]."\r\n"; 
              $mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
              $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
              $MESSAGE_BODY = "Name: ".$_POST["name"].""; 
              $MESSAGE_BODY .= "Email: ".$_POST["email"].""; 
              $MESSAGE_BODY .= "Company: ".$_POST["company"]."";
              $MESSAGE_BODY .= "Telephone: ".$_POST["phone"]."";  
              $MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]).""; 
              mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
          ?> 
          <p>Your message was sent</p>

          <?php 
            } else { 
          ?> 

        <form class="login" method="post" action="index.php">
        <div class="fields">
          <ul>
              <li>
                <label class="form_name" for="name">Name</label>
                <input class="field_form"id="name" type="text" />
              </li>
              <li>
                <label class="form_name" for="company">Company</label>
                <input class="field_form"id="company" type="text" />
              </li>
              <li>
                <label class="form_name" for="email">Email</label>
                <input class="field_form" id="email" type="email" />
              </li>
              <li>
                <label class="form_name"for="phone">Phone</label>
                <input class="field_form" id="phone" type="text" />
              </li>

             <li> 
              <button class="buttonred" type="submit" value="Submit"> Download the PDF </button>
            </li>
            </ul>
          </div>       

        </form>
          <?php 
            }; 
          ?>

我已经更改了所有发送它的方向,但是,我仍然缺少一些东西,只是不知道是什么。

【问题讨论】:

  • 尝试使用print_r($_POST) 来查看正在发送的确切值。
  • 另外,请确保在 php.ini 中打开错误,检查错误日志以查看其中是否有任何内容,和/或让我们知道您收到了哪些错误(如果有)。
  • 您的代码对邮件头注入是开放的:永远不要相信用户内容。并请删除该电子邮件地址以防止收获。
  • 您的所有输入都没有name 属性。

标签: php forms failing-tests


【解决方案1】:

您的表单中没有名称属性。因此,为每个表单字段放置适当的名称属性。例如:

 <label class="form_name" for="email">Email</label>
                <input class="field_form" name="email" id="email" type="email" />

等等等等……

【讨论】:

  • 终于是'name'的问题了,非常感谢,第一次敢发帖,没想到会有这么大的帮助,谢谢:)!我肯定会更多。
猜你喜欢
  • 1970-01-01
  • 2013-08-27
  • 2015-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多