[PHP-users 7777] Re: PHP4でのセッション管理

D.Yamashita php-users@php.gr.jp
Thu, 30 May 2002 23:45:37 +0900


山下と申します。

> $directionが定義されていても、このIFを素通りしてしまいます。
> if  !isset($direction) {
>
> いろいろ調べて、php.iniのregister_globals をOnにしてみたり、
> if !isset($_SESSION['direction']) {
> としてみたり、
> if !isset($HTTP_SESSION_VAR['direction']) {
> といろいろ試しましたが、だめでした。
>
> ちなみに、PHP3でうごかすと動きます。
>
> 的外れなことを言っていたらすみません。
> 何かわかりましたら、よろしくお願いします。

PHP3で動くというのがいまいち。。。
PHP3にはセッションはサポートされていないハズでは?

とりあえずその セッション変数$direction に、予想通りの値が
入っているかどうかを確認してみてはいかがでしょう?
if文とかが関係ないところで
echo $direction;
とか
echo $_SESSION['direction'];
として、値を出力してみては?

ちゃんとうまくいっているようであれば、isset関数の代わりに
session_is_registered関数を使ってみてはいかがでしょう?
http://search.net-newbie.com/php/function.session-is-registered.html

こんな注意書きもありますし。。。
# 注意 $_SESSION(またはPHP 4.0.6以前の場合は$HTTP_SESSION_VARS)が使用さ
# れている場合、ある変数が$_SESSIONに登録されているかを確認するた
# めにisset()を使用して下さい。

PHPの詳細バージョンなどはいかがでしょうか?

では。

国国国国国国国国国国国国国国国国国国国国国国国国
大阪大学大学院 工学部研究科 情報システム工学専攻
                        山 下  大 介
  Mail: yamasan@ise.eng.osaka-u.ac.jp
国国国国国国国国国国国国国国国国国国国国国国国国