0

我无法使用 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";
        }
    }  
?>
4

3 回答 3

3

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

例子:

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

你也应该exitecho "All fields are ...".

于 2013-05-23T17:00:12.087 回答
2

echo除非它输出一些 JavaScript 代码或 HTML 元刷新,否则不会重定向。如果您必须仅通过 PHP 进行重定向,请使用header并确保在此之前没有向浏览器发送任何内容header,甚至没有空行

echo "Location: thankyou-subscription.php";

应该

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

编辑

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

echo "<script>location.href='thankyou-subscription.php';</script>";  
于 2013-05-23T17:00:25.280 回答
1

不要回显,而是这样做:

header("Location: thankyou-subscription.php)";
于 2013-05-23T17:00:26.410 回答