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

请教:无法取到写入数据库的Session值。

[复制链接]
发表于 2014-1-7 10:29:53 | 显示全部楼层 |阅读模式
验证码代码:
PHP复制代码
  $this->load->library('authcode');  
  $this->authcode->create();
  $this->session->set_userdata('fourcode', $this->authcode->get_text());
  $this->authcode->show();
复制代码

在判断输入验证对错的时候,用$password2= $this->session->userdata('fourcode');
读取不到Session数据。
查看了数据库,有内容的:
userdata那个字段值为:
  1. a:2:{s:9:"user_data";s:0:"";s:8:"fourcode";s:4:"8213";}
复制代码

后来调试中发现反复刷新中每次去读取的Session的session_id的值都是不一样的。

配置里sess_use_database已经设置为true,CI为最新版,且未经任何更改。

这情况,会是什么原因呢?有遇到这样的问题的朋友没?
CIer  发表于 2014-1-8 05:02:25
.......
发表于 2014-1-8 06:51:10 | 显示全部楼层
去session类中继续调试一下就清楚了,当读取数据失败,反序列化不成功或者IP不匹配头不匹配会清掉session,也就是你看到的每次的session id都不相同。

本版积分规则