用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2187|回复: 0
收起左侧

CI自定义验证码不用缓存无法写入session的userdata?

[复制链接]
发表于 2015-1-8 11:34:02 | 显示全部楼层 |阅读模式
PHP复制代码
 
//session的library以在构造函数中load
 
public function check(){
$code=trim($this->input->post('code',true));
$session_code=$this->session->userdata("logincode");//这里读取不到,加了ob_start(),ob_flush()就可以了
if(strtolower($code)==$session_code){
echo '验证码正确!';
}else{
echo '验证码错误!';
}
}
 
public function general(){
header("Content-type:image/png");
$this->load->helper('randomcode');
ob_start();
$code=strtolower(generalCode(5));//gd生成图片流并返回code
$this->session->set_userdata('logincode',$code);//这里写入成功了,调试看到值
ob_flush();
}
 
复制代码


这是为什么?会话在一个session_id中,不应该读取不到,加了缓存就可以,是图片流生成后影响CI的session写入?我看论坛里也有这个问题,但没有解决,是什么问题,求大神指点?


本版积分规则