[PHP-users 10720] Re: セッションの情報の引継ぎについて

LastTom php-users@php.gr.jp
Thu, 10 Oct 2002 21:58:57 +0900


松川です。

On Wed, 9 Oct 2002 17:10:04 +0900 (JST)
shushu2 <shushu2@yahoo.co.jp> wrote:
> 記述1(session_start()を記述してない)
> 
> −−−test.php−−−
> /* クラス定義  */
> $sel2 = new クラス名;
> /* 読み込んだクラスをセッション管理    */
> session_register("sel2");
> $sel2->クラス名($sql);

マニュアルにも書いてありますが、session_start()で明示的にしていなくても
session_register()によりセッションサポート機能が働きます。
言い換えればsession_register()した時点で暗黙的(自動的)にsession_start()
したことになるわけです。

> 記述2(session_start()を記述してない)※上記とは違うソ
> ース(PHPマニュアルより抜粋)
> if (!session_is_registered('count')) {
>     session_register('count');
>     $count = 1;
> }
> else {
>     $count++;
> }
> ?>

  この場合、if文時点ではセッションサポートが機能していないので、毎回成立
してしまい、結果的に$countは初期化(=1)になってしまいます。セッションサポー
トが機能するのはif文成立後だからですね。下手くそな説明で判り難いかもしれ
ませんが...

Tsutomu Matsukawa
lasttom@hera.eonet.ne.jp