0

我正在使用 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));

完成后。我可以登录到管理区域。但我不能做任何事情,它总是要求我再次登录。我认为第二个代码覆盖了记录会话数据。

任何想法来解决这个错误?

4

2 回答 2

4

请使用此代码在 codeigniter 中设置会话

$this->session->set_userdata('user_session', $user_session_data);
于 2013-04-19T04:28:28.243 回答
0

您正在调用$this->session->set_userdata()它两次,这将删除所有旧数据并设置一次新数据。

因此,如果您将其用于错误,则可以使用以下代码

如果您想显示错误 codeigniter 会话库具有执行此操作的功能

$this->session->set_flashdata('item', 'value');

使用上面的代码设置值并使用

$this->session->flashdata('item');

参考: http ://ellislab.com/codeigniter/user-guide/libraries/sessions.html

于 2013-04-19T04:28:16.827 回答