我的联系表单有问题,当我使用标题重定向时,会出现错误。
这是我的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中
非常感谢任何帮助, 干杯 彼得
答案 0 :(得分:1)
在PHP中,当页面在header()
调用之前输出任何内容时,标题重定向将失败(即抛出该错误消息)。在您的情况下,您可能在action.php中打开<?php
标记之前有一些空格。删除开始标记之前的所有内容,并确保header()
之前没有输出(没有echo
或类似的内容)。
有关详细信息,请参阅this question。