【问题标题】:Redirect after a contact form submitted提交联系表格后重定向
【发布时间】:2014-04-17 09:47:25
【问题描述】:

我的联系表单出现问题,当我使用标头重定向时出现错误。

这是我的 HTML

    <form method="post" action="action.php">
      <label for="name">Name:</label>
      <input type="text" name="name" id="name" required placeholder="Name" />
      <label for="name">Phone number:</label>
      <input type="text" name="phone" id="phone" required placeholder="Phone" />
      <label for="email">Email:</label>
      <input type="email" name="email" id="email" required placeholder="email@example.com" />
      <label for="message">Message:</label>
      <textarea name="message" id="message" required></textarea>
      <input type="submit" value="Send Message" />
    </form>

现在对应的action.php文件

<?php
  $name=$_POST['name'];
  $phone=$_POST['phone'];
  $email=$_POST['email'];
  $message=$_POST['message'];

  $to = "xx@hotmail.com";
  $subject = "subject";
  $message = " Name: " . $name . "\r\n email: " . $email . "\r\n phone: " . $phone. "\r\n message: " . $message;


  $from = "noreply@xx.com.au";
  $headers = "From:" . $from . "\r\n";
  $headers .= "Content-type: text/plain; charset=UTF-8" . "\r\n"; 

  if(@mail($to,$subject,$message,$headers))
       mail($email, "Thanks For for contacting xx - We will be in contact soon", $a_thank_you_message, "From: noreply@xx.com.au" );

   header( 'Location: http://www.xx.com.au' ) ;

?>

显示如下错误

警告:无法修改标头信息 - 标头已由(输出开始于 /home/xx/public_html/action.php:3) 在第 26 行的 /home/xx/public_html/action.php 中

任何帮助将不胜感激, 干杯 彼得

【问题讨论】:

  • 谷歌你的错误信息。
  • 这意味着你之前打印了一些东西。

标签: php html forms redirect


【解决方案1】:

在 PHP 中,当页面在 header() 调用之前输出任何内容时,标头重定向将失败(即抛出该错误消息)。在您的情况下,您可能在 action.php 中打开 &lt;?php 标记之前有一些空格。删除开始标签之前的所有内容,并确保在header() 之前没有输出(没有echo 或类似的东西)。

更多详情请见this question

【讨论】:

  • 你先生是个传奇!我不敢相信是这么简单的事情。谢谢你这么快的回复!
  • 没问题,编码愉快!
猜你喜欢
  • 2017-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-18
  • 1970-01-01
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多