我正在存储一个不同的会话,比如id,type,isloggedin和最后comp_city,其中我将城市名称存储到comp_city会话..
例如我将'旧金山'存储到会话comp_city并且它成功了,现在我重定向到另一个页面并且我想使用comp_city的值,但奇怪的是它不是让'旧金山'作为我给它的价值我'img'。会出现什么问题?是因为我使用了太多会话吗?
public function index($city='', $error=null)
{
if($city == '')
{
$city = 'San Francisco';
$this->session->set_userdata(array('compcity' => $city));
}else if($city)
{
$city = urldecode($city);
$this->session->set_userdata(array('compcity' => $city));
}
....
答案 0 :(得分:0)
查看所有会话的设置,使用以下代码并检查您的require会话。
print_r($this->session->userdata);
或
print_r($this->session->all_userdata());
答案 1 :(得分:0)
我遇到了类似的问题,一个会话变量返回“default”,另一个返回了一个css文件的名称。
我找不到确切的原因,但这解决了我的问题:
缺少css文件(在“默认”文件夹中)。我修复了css文件的引用,会话问题就消失了。
答案 2 :(得分:0)
尝试以这种方式设置数据:
从右强>
echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>';
$this->session->set_userdata('more_data', array('compcity' => $city));
echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>';
我非常肯定你完全用你使用它的方式覆盖整个会话。
<强>错强>
echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>';
$this->session->set_userdata(array('compcity' => $city));
echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>';