另一个问题 - 在用户控制器登录方法中,在检查按下按钮(登录或忘记密码)后,在行中:$data = $this->user_model->login();
返回正确的用户信息; “用户名,系列,用户ID”将在仪表板中用于在日志表中使用,而heAder页面如何将此数据发送到仪表板?
我试图通过redirect()发送它但它失败了
if ($this->form_validation->run() == TRUE) {
if (!empty($_POST['login'])) {
$data = $this->user_model->login();
if ($data != NULL)
{
redirect('dashboard');
} else {
redirect('user/login', 'refresh');
}
} elseif (!empty($_POST['forget'])) {
redirect('user/recover');
}
}
$this->data['subview'] = 'users/login';
$this->load->view('users/_layout_modal', $this->data);
答案 0 :(得分:1)
根据您的问题,您正在验证用户登录详细信息并为其创建会话。
然后在会话中存储用户信息。
在config / autoload.php中设置会话库自动加载。然后按以下方式创建会话。
$this->session->set_userdata(
array(
"username"=>$username,
"user_id" => $user_id,
"family" => $family
)
);
在仪表板中:
您可以使用其名称访问会话:
echo $this->session->userdata("username");
答案 1 :(得分:1)
函数redirect()不保存任何内容。您可以尝试通过编写$this->session->set_userdata('some_name', $data);
然后您可以使用$this->session->userdata('some_name');
请注意,$ data可以是对象或数组。
假设$ data是数组,那么在仪表板中你可以使用这样的东西:
$data = $this->session->userdata('some_name');
echo 'Username: '.$data['username'].'<br />';
echo 'Family: '.$data['family'];
......等等........