【发布时间】:2018-10-18 23:35:12
【问题描述】:
我想使用会话数据作为数据库中查询的条件,但它只返回 NULL。我试过 $this->session->userdata('account'),但还是不行。
功能 - 登录/设置用户数据:
public function login_auth()
{
$this->load->helper('security');
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');
if ($this->form_validation->run() == FALSE) {
if(isset($this->session->userdata['logged_in'])){
$this->dashboard();
}else{
$this->index();
}
} else {
$data = array(
'username' => $this->input->post('username'),
'password' => $this->input->post('password')
);
$result = $this->agent_model->login($data);
if ($result == TRUE) {
$username = $this->input->post('username');
$result = $this->agent_model->read_user_information($username);
if ($result != false) {
$session_data = array(
'username' => $result[0]->username,
'owner' => $result[0]->owner,
'account' => $result[0]->account,
'id' => $result[0]->id
);
$this->session->set_userdata('logged_in', $session_data);
$this->dashboard();
}
} else {
$data = array(
'error_message' => 'Invalid Username or Password'
);
$this->load->view('header');
$this->load->view('pages/login', $data);
$this->load->view('footer');
}
}
}
Function - Using Userdata->Account 作为条件(来自另一个函数)
$sess_account = $this->session->userdata('account');
var_dump($this->session->userdata('account'));
$coords = $this->map_model->get_coordinates($sess_account);
我在这里错过了什么吗?任何帮助都非常感谢。谢谢!
【问题讨论】:
-
我们需要更多信息。首先,您如何设置该会话数据值?你可以发布那行代码吗?另外,您可以通过检查 $_SESSION 值来查看会话中的内容。示例:var_dump($_SESSION);
-
你能把这个 somplace 放在你的代码中并给我们看输出吗?
print "<pre>".print_r($this->session(), true)."</pre>";
标签: php codeigniter session