回显特定的URL而不是文本消息不起作用

时间:2013-05-23 16:57:59

标签: php echo

我无法使用ECHO方法将访问者发送到感谢页面。 请帮忙!

<?php
    } 
else                

    {
    $name=$_REQUEST['name'];
    $email=$_REQUEST['email'];

    if (($name=="")||($email==""))
        {
        echo "All fields are required, please fill <a href=\"\">THE FORM</a> again.";
        }
    else{        
        $from="From: $name<$email>\r\nReturn-path: $email";
        $subject="Subscription Request from Website";
        mail("test@test.com", $subject, $message, $from);

       echo "Location: thankyou-subscription.php";
        }
    }  
?>

3 个答案:

答案 0 :(得分:3)

请使用header功能重定向用户。

示例:

header("Location: thankyou-subscription.php");

echo "All fields are ..."之后你还应该exit

答案 1 :(得分:2)

除非输出一些JavaScript代码或HTML Meta Refresh,否则

echo不会重定向。如果您只需通过PHP重定向,请使用header并确保在header之前没有任何内容发送到浏览器,甚至不是空行

echo "Location: thankyou-subscription.php";

应该是

header("Location: thankyou-subscription.php");

修改

由于您提到在重定向之前无法避免回显,因此您可以使用JavaScript,因为PHP重定向在输出后将无效。你可以做到

echo "<script>location.href='thankyou-subscription.php';</script>";  

答案 2 :(得分:1)

不要回声,而是这样做:

header("Location: thankyou-subscription.php)";