- 2005年5月15日 23:10
- PHP
今まさに仕事でやっていて気が付いたメモ。というか、今までなんで使わなかったんだろう?と思ったりもする初歩的な部分 :(
PHPでセッションを使うときに、スクリプトによっては、セッションを混同させたくない場合がある。例えば、a.phpでは $_SESSION['test'] に「a」という文字列を、b.phpでは $_SESSION['test'] に「b」という文字列を保存しておきたい場合だ。
- a.phpコード
session_start(); $_SESSION['test'] = 'a';
- b.phpコード
session_start(); $_SESSION['test'] = 'b';
- c.phpコード
session_start(); print $_SESSION['test'];
これだと、当然a.phpにアクセスすれば、$_SESSION['test']に「a」が、b.phpにアクセスすれば$_SESSION['test']に「b」が入る。
これを住み分けるにはsession_name()を使う。これで、セッションの名前を設定してやれば、それぞれのスクリプトで違ったセッションを使うことができる。
- a.phpコード
session_name("aaa"); session_start(); $_SESSION['test'] = 'a';- b.phpコード
session_name("bbb"); session_start(); $_SESSION['test'] = 'b';- c.phpコード
session_name("aaa"); session_start(); print $_SESSION['test'];
こうすると、c.phpにアクセスした場合は、a.phpの$_SESSION変数のみが表示されるようになる。
- Newer: HTML+CSSツール
- Older: 携帯からサーバ管理
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://blog.tofu-kun.org/mt-tb.cgi/20
- Listed below are links to weblogs that reference
- PHPでセッション管理 from Webプログラマー+WebデザイナーなZARU日記
