[Codeigniter-users] 「¥」があるとセッションに保存されない?

Back to archive index

内田隆彦 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
)

よろしくお願いいたします。

内田




Codeigniter-users メーリングリストの案内
Back to archive index