[PHP-users 9660] Re: セッション変数の内容が復活する
Keisuke Sasame
php-users@php.gr.jp
Sun, 1 Sep 2002 03:18:54 +0900
Kei@千葉です。
既に解決されていましたら、すいません。
サンプルソースを見る限り、セッション変数を破棄している箇所が見当たりませ
んので、
例え、ブラウザを一旦閉じたとしても、
セッション変数が自動的に削除される時間がたたない限り(ディフォルトで24
分)
以前の情報が反映されます。
(ソースを見る限り、セッションIDはクッキーにより保持されているようですの
で・・・)
unset( $_SESSION['変数名'] );
とするか、全部破棄するなら、
session_unset();
とするべきです。
蛇足ですが、IE6の場合、キャッシュによって、
ある条件下で、以前の情報が、自動的に表示されてしまうようです。
IE5.5,NN4.x,NN6,NN7では問題ありませんでした。
(厳密な原因はまだ私のほうでもわかりませんが、リロードすれば問題ないので
キャッシュが原因かと思われます)
セッションスタートするまえに、キャッシュリミッターをnocacheに設定するこ
とにより
私の場合は解決しました。
session_cache_limiter('nocache');
session_start();
セッション変数を使用する場合、キャッシュによる誤作動を起こしやすいので、
セッションスタートする前に、条件にあった、キャッシュの設定をするべきで
す。
間違いがありましたら、ご指摘頂ければと思います。
---- Kei<kei_s@mbe.sphere.ne.jp>
> -----Original Message-----
> From: php-users-admin@php.gr.jp
> [mailto:php-users-admin@php.gr.jp] On Behalf Of Koichi Shimamura
> Sent: Wednesday, August 28, 2002 10:39 AM
> To: php-users@php.gr.jp
> Subject: [PHP-users 9575] セッション変数の内容が復活する
>
>
> こんにちは、島村です。
>
> 二つのページを行ったり戻ったりするときに、なくなっているはずのセッショ
> ン
> 変数の値がセットされてしまいます。
>
> ---------- test1.cgi ----------
>
> #!/usr/local/bin/php
> <?php
> session_start();
> print_r($_SESSION);
> ?>
> <html>
> <head>
> </head>
> <body>
> <?php
> if ($_SESSION['C1'] == "ON")
> echo "ON";
> else
> echo "off";
> ?>
> </body>
> <form method="POST" action="test2.cgi">
> <input type="checkbox" name="C1" value="ON">abc
> <input type="submit" value="送信" name="B1">
> <input type="reset" value="リセット" name="B2">
> </form>
> </body>
> </html>
> ---------- test1.cgi ----------
>
> ---------- test2.cgi ----------
> #!/usr/local/bin/php
> <?php
> session_start();
> $_SESSION = $_POST;
> print_r($_SESSION);
> ?>
> <html>
> <head>
> </head>
> <body>
> <?php
> if ($_SESSION['C1'] == "ON")
> echo "ON";
> else
> echo "off";
> ?>
> <a href="test1.cgi">back</a>
> </body>
> </html>
> ---------- test2.cgi ----------
>
> test1.cgi のチェックボックスを付けたり、消したりしながら二つのページを
> 行
> ったり来たりしていると、チェックをはずしたにもかかわらず、行って帰って
> く
> るとチェックが付いている事になってしまいます。
>
> 何がどうなっているのでしょうか?
>
> 対策をご存知の方がいらっしゃいましたら、よろしくお願いします。
>
> 環境
> レンタルサーバ FreeBSD 4.5
> PHP 4.2.2 cgi 版
>
> です。
>
> 島村幸一
http://www.bekkoame.ne.jp/~joe90/
_______________________________________________
PHP-users mailing list
PHP-users@php.gr.jp http://ns1.php.gr.jp/mailman/listinfo/php-users