我有登录功能。当我登录时,会话被保存。但是当我刷新页面或重定向到另一个函数时,会话(userdata)显示为空白。我已在自动加载中加载会话库,但每次刷新页面后都会删除用户数据。
这是我的代码。
public function index () {
$user = $this->input->post('user');
// after successful user checking
$this->session->set_userdata('user', $user);
// when I print session here,
print_r($this->session->all_userdata());
// session user gets print
}
但是当我重定向到一个函数时(假设' test'),则没有显示任何会话。
public function test() {
print_r($this->session->all_userdata());
die;
}
答案 0 :(得分:0)
当您使用$ this-> input-> post(' user')阅读帖子值时;并且没有任何帖子该函数返回null并将其保存在用户值中。
您必须在设置前进行检查。
if ($this->input->post('user')) {
$this->session->set_userdata('username', $this->input->post('user'));
}
答案 1 :(得分:0)
我解决了这个问题。实际上,我不小心在代码开头就破坏了会话。所以,我的会议全部被破坏了。我删除了代码并且工作正常。