我正在使用codeigniter框架,我在会话中遇到了一些问题。
在我的登录表单中,我要求输入用户名和密码,如果提供的凭证有效,则将它们放入会话变量中,如下所示。
$user_session_data = array(
'username' => $this->input->post('username'),
'is_logged_in' => 1
);
$this->session->set_userdata($user_session_data);
以前一切都运行得很好。但今天我在一些页面中添加了代码,以便将一些错误消息设置为会话。
$error_array[]="There Is An Error When Inserting Data In To The Database";
$this->session->set_userdata(array('upload_errors' => $error_array));
这件事完成后。我可以登录到管理区。但我不能做任何事情,它总是要求我再次登录。我认为第二个代码覆盖了日志会话数据。
有什么办法来解决这个错误吗?
发布于 2013-04-19 04:28:28
请使用此代码在codeigniter中设置会话
$this->session->set_userdata('user_session', $user_session_data);
发布于 2013-04-19 04:28:17
您正在调用$this->session->set_userdata()
it两次,这将删除所有旧数据并设置一次新数据。
所以如果你使用它来处理错误,你可以使用下面的代码
如果您想显示错误代码点火程序会话库具有执行此操作功能
$this->session->set_flashdata('item', 'value');
使用上面的代码设置值,并使用
$this->session->flashdata('item');
参考: http://ellislab.com/codeigniter/user-guide/libraries/sessions.html
https://stackoverflow.com/questions/16096977
复制相似问题