内田隆彦
uchid****@tiara*****
2008年 9月 14日 (日) 00:55:10 JST
おせわになります。内田と申します。 CIにてセッションを利用したアプリを作っております。 不可解な現象に遭遇したのでご質問させていただきました。 以下の2つのコントローラーを用意しました。 start.php show.php start.phpではセッションに値を詰めて、showへリダイレクトしております。 show.phpではセッション内容を表示させているだけなのですが、 詰めた値がまったく表示されません。 セッションの値に「\」が入っていると、どうやらそうなるようです。 ためしに、\を抜いて、テストしたところshow.phpにて思い通りの表示がされま した。 これはCIの仕様なのでしょうか? 皆様同じような現象に遭遇した方いらっしゃいますでしょうか? 回避方法をお教えいただけますと幸いです。 以下が検証した実際のコードです。 /system/application/controllers/start.php <?php class Start extends Controller { function Start() { parent::Controller(); } function index(){ $this->load->library('session'); $this->session->set_userdata('test','test'); $this->session->set_userdata('test2','t\est'); $this->load->helper('url'); redirect('/show'); } } /system/application/controllers/show.php <?php class Show extends Controller { function Show() { parent::Controller(); } function index(){ $this->load->library('session'); print_r( $this->session->all_userdata()); } } ?> ☆画面の出力結果 Array ( [session_id] => 4b5db5e7848aa8add143350ed1fd71c7 [ip_address] => 127.0.0.1 [user_agent] => Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1. [last_activity] => 1221320881 ) よろしくお願いいたします。 内田