Maison > Article > développement back-end > session,获取的字符串值,总是得到images类型
使用ci框架,版本2.1.4
$uuid=(string)($this->uri->segment(3));
$data=array(
'uuid'=>$uuid
);
$this->session->set_userdata('uuid',$data);
echo $this->session->userdata('uuid');
问题:
$this->uri->segment(3)获取的是一个ID号码,但是输出总是images
直接输出echo $this->uri->segment(3),是ID号没问题
然后不使用框架,直接
session_start();
$_SESSION["uuid"]=$uuid;
echo $_SESSION["uuid"];
这种方式,获取的值还是images
$uuid=(string)($this->uri->segment(3));
echo $uuid;
看看是什么
$uuid=(string)($this->uri->segment(3));
echo $uuid;
看看是什么
是那个ID字符串没错。现在问题是用session后变成了images
session_start();
$_SESSION["uuid"]=$uuid;
echo $_SESSION["uuid"];
这种方式,获取的值还是images
用原生态存储session的方法存储都是images那说明你存的就是images啊 是不是你的变量名冲突了
不要以为你发现了 php 的什么 bug
错肯定在你,而不在 php
$uuid=(string)($this->uri->segment(3));
echo $uuid;
看看是什么
是那个ID字符串没错。现在问题是用session后变成了images
print_r($this->uri->segment_array())
我有问题请教LZ,你是怎么确定的"总是得到images类型"
var_dump? 看header? 二进制文件头? 还是只echo 一下就知道了
我有问题请教LZ,你是怎么确定的"总是得到images类型"
var_dump? 看header? 二进制文件头? 还是只echo 一下就知道了
不确定"总是得到images类型",但确定是echo 出现的字符串是"images"
lz我赌五毛钱,
一定是$_SESSION['uuid']被重置了。
或者$uuid被重置了。。
想看session里面都有什么直接去session存储目录去扒那个文件看看把。
或者直接var_dump($_SESSION)里面所有的看看。
还是没有那必然是$uuid被重置了
http://stackoverflow.com/questions/5484429/codeigniter-session-value-as-images,解决了
在同一个动作中显示没问题
但是跳到其他动作中print_r($this->uri->segment_array()),值变为images
在使用set_userdata后,使用redirect重定向
其他动作中用print_r($this->uri->segment_array()),值终于不是images
hack方法,orz
不要以为你发现了 php 的什么 bug
错肯定在你,而不在 php
$uuid=(string)($this->uri->segment(3));
echo $uuid;
看看是什么
是那个ID字符串没错。现在问题是用session后变成了images
从来没说过自己发现什么BUG,不过有一种东西叫做抽象漏洞。