0

ユーザーがログイン ページにリダイレクトされたときのリターン URL を取得しようとしています。再ログインすると、元のページにリダイレクトされる必要があります。私はそれを行うために多くの異なる方法を試しました。ただし、空白のページしか表示されません。

ログインページのコードは次のとおりです。

    if(isset($_POST['submitted']))
{
   if($fgmembersite->Login())
   {
        $fgmembersite->RedirectToURL(str_replace("'", "", $_GET['redirecturl']));
   }
}

リダイレクトのログインをチェックするページのコードは次のとおりです。

function RedirectToURL($url)
{

    header("Location: $url");
    exit;
}
4

2 に答える 2

0

RedirectToURL($url)ヘッダーをスローする代わりに$url をエコーし​​て、次のことを確認してください。

  1. 有効な URL です
  2. それは実際に呼び出されます

あなたの問題は、これら2つのいずれかです。また、関数を呼び出す前に何かがエコーされた場合もありheader()ます。その場合、header()出力がブラウザに送信される前にしか機能しないため、 は機能しません。

于 2012-12-05T16:32:31.497 に答える
0

最初は、ヘッダーを変更できませんでした。ob_start(); の追加 そしてob_end(); ヘッダーを変更できました。その後、カスタムifステートメントをスローする必要がありました.redirecturlクエリ識別子がまったくないときにエラーが発生していました. すべての助けてくれてありがとう。

if (!isset($_GET['redirecturl'])){echo $_SERVER['PHP_SELF'];} else {echo $_SERVER['PHP_SELF'] . "?" . $_SERVER['QUERY_STRING'];}

于 2012-12-05T18:46:48.357 に答える