我正在使用Codeigniter 2.1.0和CI_session来处理会话。
我假设这样做:
1. 页面A使用 $this->session->set_userdata() 在会话中设置一些变量。 2. 页面A重定向到页面B。 3. 页面B应该保留在页面A中设置的会话变量。
但是,以下是我的情况:
1. 页面A使用 $this->session->set_userdata() 在会话中设置一些变量。 2. 页面A重定向到页面B。 3. 页面B没有保留在页面A中设置的会话变量。
我在页面A中编写了代码,将 $this->session->userdata 的内容保存并记录到日志中,然后重定向到页面B。日志显示在会话中设置的值存在。
但是,在页面B上使用 var_dump() 对 $this->session->userdata 进行检查时,发现这些值不存在。
我不知道这可能是什么原因。我已经仔细检查过,在页面B中没有取消设置值。就像CI_Session在幕后某种方式上取消设置它们一样。
有任何想法吗?
编辑:是的,我正在使用数据库保存会话数据。字段类型为TEXT。
我假设这样做:
1. 页面A使用 $this->session->set_userdata() 在会话中设置一些变量。 2. 页面A重定向到页面B。 3. 页面B应该保留在页面A中设置的会话变量。
但是,以下是我的情况:
1. 页面A使用 $this->session->set_userdata() 在会话中设置一些变量。 2. 页面A重定向到页面B。 3. 页面B没有保留在页面A中设置的会话变量。
我在页面A中编写了代码,将 $this->session->userdata 的内容保存并记录到日志中,然后重定向到页面B。日志显示在会话中设置的值存在。
但是,在页面B上使用 var_dump() 对 $this->session->userdata 进行检查时,发现这些值不存在。
我不知道这可能是什么原因。我已经仔细检查过,在页面B中没有取消设置值。就像CI_Session在幕后某种方式上取消设置它们一样。
有任何想法吗?
编辑:是的,我正在使用数据库保存会话数据。字段类型为TEXT。
$config['sess_use_database'] = TRUE;
...然后检查一下... - bipen