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

Katsunori-Onuma php-users@php.gr.jp
Thu, 07 Nov 2002 09:33:18 +0900


小沼と申します。

On Wed, 06 Nov 2002 23:21:27 +0900
市川 雅英 <works@206st.net> wrote:

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

セッションの取り回しなどによって、組み方はいろいろあると思いますが、
ソースを有効に利用しようとするなら、


> if (isset($_POST["id"])  and isset($_POST["pass"])) {
>         if ($_POST["id"] == xxx and $_POST["pass"] == xxxx) {
>         $_SESSION["atari"] = 1;
>         } else {

          require("uogin.php");
          exit;

>         }
>     } else {
>         if (!isset($_SESSION["atari"])) {
>         $_SESSION["page"] = "form.php";

          require("uogin.php");
          exit;

>         } else {
>         if ($_SESSION["atari"] == 1) {
>         } else {
>         $_SESSION["page"] = "form.php";

          require("uogin.php");
          exit;

>         }
>     }
> }

として、uogin.phpのフォームアクションを
<form action="<?php print ($_SERVER['PHP_SELF']); ?>" method="post">
とかにしてやればいけると思いますがどうでしょう?

はずしていたらすみません。