内田隆彦
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
)
よろしくお願いいたします。
内田