decoy
youtu****@gmail*****
2008年 9月 14日 (日) 03:39:31 JST
decoyです。 stripslashesされてる為と思います。 ・回避方法 system/libraries/Session.phpのsess_readメソッドの中にある @unserialize($this->strip_slashes($session)); を @unserialize($session); に変更すればいいと思いますが如何でしょうか。 ※コアを弄りたくない場合はMY_Session.phpを作ってそちらで好きなように取得して下さい。 // decoy ----- Original Message ----- From: "内田隆彦" <uchid****@tiara*****> To: <codei****@lists*****> Sent: Sunday, September 14, 2008 12:55 AM Subject: [Codeigniter-users] 「¥」があるとセッションに保存されない? > おせわになります。内田と申します。 > > 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 > ) > > よろしくお願いいたします。 > > 内田 > > _______________________________________________ > Codeigniter-users mailing list > Codei****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users