0

次の3つのリンクがあるインデックスページがあります。最初のリンク(以下の例ではpageType1)をクリックすると、pageType1.phpが実行され、ユーザーがCookieを介してログインしているかどうかが最初に確認されます。そうでない場合は、ユーザーをログインページにリダイレクトします。ユーザーがログインページにログインとパスワードの情報を正しく送信したら、pageType1.phpに情報を表示したい

ファイル:index.php

<a href="pageType1.php" target="_blank">PageType1</a>
<a href="pageType2.php" target="_blank">PageType2</a>
<a href="pageType3.php" target="_blank">PageType3</a>

ファイル:pageType1.php

<?php
include"auth/auth_check_header.php"; 
print("pageType1 contents");
?>

ファイル:pageType2.php

<?php
include"auth/auth_check_header.php"; 
print("pageType2 contents");
?>

ファイル:pageType3.php

<?php
include"auth/auth_check_header.php"; 
print("pageType3 contents");
?>

ファイル:auth / auth_check_header.php

$successful_login_url = ??????   //How to track this value. 

if (!cookie_enabled)
    {
    //login page
    header("location:$successful_login_url");
    }

私の質問は、auth /auth_check_header.phpで「$successful_login_url」値(またはこの変数の値として何を入力するか)を追跡する方法です。

注:$ _SESSION["referer"]を"$successful_login_url"の値として入力しようとしましたが、ログインに成功するとindex.phpが表示されます。前もって感謝します

4

2 に答える 2

0

ページのURLをGET変数(クエリ文字列)として渡して、これに基づいてリダイレクトできます。または、インクルードが含まれているページを取得する場合は、「PHP_SELF」を使用してこれを変数に格納し、リダイレクトに使用できます。戻る:

$_SERVER['PHP_SELF']

http://php.net/manual/pt_BR/reserved.variables.server.php

于 2012-03-23T22:10:37.180 に答える
0

1)ユーザーがpageType1.phpにアクセスしようとしました

2)ユーザーは、非表示フィールドを持つフォームを含むlogin.phpにリダイレクトされます。

<input type="hidden" name="redirectTo" value="<?php echo $_SESSION["HTTP_REFERER"]?>" />

3)ユーザーがログインを入力し、正常に認証されたら:

$redirectTo = $_POST['redirectTo']

4)$redirectToが空でない場合はリダイレクトし、そうでない場合はデフォルトページにリダイレクトします

于 2012-03-23T22:20:18.550 に答える