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");

exitの後にもする必要がありecho "All fields are ..."ます。

于 2013-05-23T17:00:12.087 に答える
2

echoJavaScript コードまたは HTML Meta Refresh を出力しない限り、リダイレクトしません。PHP のみを介してリダイレクトする必要がある場合は、使用し、headerその前にブラウザに何も送信されていないことを確認してください。header

echo "Location: thankyou-subscription.php";

する必要があります

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

編集

リダイレクト前にエコーを避けることはできないとおっしゃっていたので、PHP リダイレクトは出力後に機能しないため、JavaScript を使用できます。できるよ

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 に答える