CodeIgniter会话值为图像

时间:2011-03-30 09:22:33

标签: php codeigniter

在我的项目中,我正在使用分页,我使用这些语句来获取页码详细信息:

$page=$this->uri->segment(3);
$this->session->set_userdata('page',$page);
echo $this->session->userdata('page');

当我在该页面中打印此会话值时,我正确地得到了值,当我点击特定链接然后打印该数据时,我得到的值就像'images'。 为什么会这样?

然而,当我写下像

这样的陈述时
$page=$this->uri->segment(2);
$this->session->set_userdata('page',$page);
echo $this->session->userdata('page');

它工作正常。

我的网址是:http://localhost/CI/user/index/4

2 个答案:

答案 0 :(得分:1)

我遇到同样的问题,会话变量总是得到值' images'。然后我意识到:如果我们创建了一个会话变量,那么我们必须直接调用redirect()。 这是我的例子:

$page=$this->uri->segment(3);
$this->session->set_userdata('page',$page);
redirect('control/function2');

然后,您可以继续使用' function2'。

答案 1 :(得分:1)

通过编写另一个函数解决问题,设置会话并重定向到上面的函数:

function set_session(){
  $id=$this->uri->segment(3);
   $this->session->set_userdata('id',$id);
   redirect('set_uri_session');
}

function set_uri_session(){
$id=$this->uri->segment(3);
$this->session->set_userdata('id',$id);
echo $this->session->userdata('id');
}