[PHP-users 9594] Re: セッション変数の内容が復活する

Koichi Shimamura php-users@php.gr.jp
Wed, 28 Aug 2002 15:53:59 +0900


島村です。

いろいろテストをしているのですが、test1.cgi の form が submit されたとき
セッション変数へのデータセットに違いがあるようです。

checkbox を使っていることが最大の原因のようですが。

<input type="checkbox" name="C1" value="ON">

のとき、チェックをつけないで submit すると次のページへは $C1 そのものが
渡されませんが、既に $C1 が、セッション変数として生きていて、値がセット
されていると、$C1 がそのままの状態で次のページへ引き継がれます。しかし
$_SESSION['C1'] の方はチェックが付いていないので、変数そのものが渡されま
せん。

この時点で test2.cgi は、一つの変数(プログラマから見て)に、二つの状態
がセットされていることになってしまいます。

・・・これって、仕様なんでしょうか? $_SESSION の方は、セットする値が無
いときは変数そのものを生成しないのに、旧来の方は、セットする値が無いとき
は既存の変数にタッチしない(値があればそのまま、その値が生きてしまう)と
いうことでしょうか。

なんとなく、不便。

島村幸一
http://www.bekkoame.ne.jp/~joe90/