1

重複の可能性:
PHP によって既に送信されたヘッダー

あるページにリダイレクトしたいので、このようにしてみました。

www.example.com/logout.php?redirect=www.index-page.com/index.php
         echo $redirect = "'Location: http://".$_GET['redirect']."'";
       //redirects to index
       header($redirect);

しかし、それは私にとってはうまくいきません。何か提案はありますか。

4

6 に答える 6

4

このようなもの:

ログアウトリンク:

<a href="http://www.example.com/logout.php?redirect=<?=urlencode('http://www.index-page.com/index.php')?>"> Logout </a>

logout.php ページ:

<?
    // destroy session
    header('location:'.urldecode($_GET['redirect']));
    die();
?>
于 2012-09-21T11:36:36.603 に答える
2

echo生成しない場合は、ヘッダーの前に使用できませんWarning: Cannot modify header information - headers already sent by

    $redirect = "Location: http://". $_GET['redirect'];
    header($redirect);
于 2012-09-21T11:22:47.197 に答える
1

追加は必要ありません'

$redirect = "Location: http://".$_GET['redirect'];
于 2012-09-21T11:21:27.123 に答える
1

ユーザーを Google にリダイレクトする例を次に示します。

$link='http://Google.com';
header("location: $link");

関数にすることができます

function redirectUser($link){
    header("location: $link");
}

そして、あなたはそれを次のように呼び出すことができます

redirectUser('http://google.com');

または

echo redirectUser('http://google.com');

エラーは発生しません。

die();リダイレクトコードの後に​​使用して、次のコードを中止することをお勧めします

于 2012-09-21T11:30:24.407 に答える
0

redirectなしでのみ使用できますecho

header("Location: http://".$_GET['redirect']);
于 2012-09-21T11:23:42.020 に答える
0

問題はここにあります

echo $redirect = "'Location: http://".$_GET['redirect']."'";
//redirects to index
header($redirect);

ヘッダーの前に echo を使用する必要はありません。警告が発生しますheader already sent

このように使用してください

$redirect = "Location: http://".$_GET['redirect'];
//redirects to index
header($redirect);
于 2012-09-21T11:25:35.050 に答える