[PHP-users 2123] Re: セッションの基本的な質問
KOYAMA Tetsuji
php-users@php.gr.jp
Mon, 17 Sep 2001 21:11:58 +0900
小山です。
At Mon, 17 Sep 2001 17:03:58 +0900,
tyunn wrote:
> > > session_start();
> > > session_register("foo");
> > > と設定しますと、変数$fooに対してセッションIDが作られますよね?
> このセッションID(ここでは$foo)は、複数のクライアントがWebを閲覧
> する場合それぞれのクライアントにひとつづつセッションIDが割り振られ
> サーバーに記憶されるということでよいでしょうか?
まず、$foo はセッションIDではありません。
セッションID は session_id() で得られる乱数文字列です。セッションID
により現在の「セッション」が特定されます。session_register() は「セッ
ション」に変数を登録する関数です。
> 仮にメールアドレスを入力してログインする画面の場合
> session_register("foo");
> $email="xxx@xxx.com";
> session_register("email");
> $type=$foo.$email;
> session_register("type");
> としておくと
> 次回 xxx@xxx.com さんがログインした場合
> $typeを調べると過去にこのページを訪れたということが判断できる
> のでしょうか???(ちょっと混乱・・)
上記の場合、過去に訪れたかどうかは、セッション内の $email をみれば判
断できるのではないですか? $foo や $type がどういう意図をもっているのか、
私には理解できません。
ただし、セッション情報を長期間に渡ってサーバ側に保持しておくことは通
常はしません。ユーザの過去の履歴を保存しておきたいのなら、ファイルなり
DB なりに保存しておくべきでしょう。
--
小山 哲志@ビート・クラフト
koyama@beatcraft.com
koyama@hoge.org