提交联系表格后重定向

问题描述:

在我的联系表格中遇到一些麻烦,当我使用标题重定向时,它出现错误。提交联系表格后重定向

这是我的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 protected]" /> 
     <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 = "[email protected]"; 
    $subject = "subject"; 
    $message = " Name: " . $name . "\r\n email: " . $email . "\r\n phone: " . $phone. "\r\n message: " . $message; 


    $from = "[email protected]"; 
    $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: [email protected]"); 

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

?> 

它显示了以下错误

警告:不能更改头信息 - 头已经在/ home/xx/public_ht中发送(输出开始于 /home/xx/public_html/action.php:3)上线毫升/ action.php的26

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

+1

Google你的错误信息。 –

+0

这意味着你之前打印了一些东西。 – developerwjk

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

请参阅this question了解更多详情。

+0

您的先生是一个传奇!我不敢相信这是如此简单。并感谢您的快速回复! – user3412921

+0

没问题,快乐编码! –