[PHP-users 11327] 認証時における変数渡しについて

市川 雅英 php-users@php.gr.jp
Wed, 06 Nov 2002 23:21:27 +0900


市川と申します。
ML検索したのですが分からず、質問させてください。


現在、ログイン画面を利用した認証部分を作成していて、下記のようなスクリプトを
各ページに置いて認証させています。

if (isset($_POST["id"])  and isset($_POST["pass"])) {
        if ($_POST["id"] == xxx and $_POST["pass"] == xxxx) {
        $_SESSION["atari"] = 1;
        } else {
        header("Location: uogin.php");
        }
    } else {
        if (!isset($_SESSION["atari"])) {
        header("Location: uogin.php");
        $_SESSION["page"] = "form.php";
        } else {
        if ($_SESSION["atari"] == 1) {
        } else {
        header("Location: uogin.php");
        $_SESSION["page"] = "form.php";
        }
    }
}


認証が失敗した場合、強制的に「uogin.php」へ移動するのはいいのですが、ログイ
ン成功後は、またログイン前のページに移動したいと思っています。
つまり、ログイン後のページが動的に変わるようにしたいのですが、上記の方法です
とうまくいきません。
おそらくheader関数を利用したリダイレクトでSESSION変数もリフレッシュされてし
まうのが原因だと思うのですが...

こういった場合、何かいい方法はありますでしょうか?
ご教授下さいますよう、お願い申し上げます。


市川
works@206st.net