【发布时间】:2012-01-23 02:36:34
【问题描述】:
使用 CodeIgniter 我正在尝试将数据库中的用户 ID 添加到会话数据中。
我看过这个question,但它对我不起作用
控制器代码:
function validate_credentials()
{
$this->load->model('users_model');
$query = $this->users_model->validate();
// if the users credentials validated...
if($query)
{
$user_id = $this->users_model->get_userID($this->input->post('email'));
/*
I dont need to worry about insecure code because all incoming data
is filtered (set in config.php)
*/
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true,
'user_id' => $user_id
);
$this->session->set_userdata($data);
redirect('site/members');
}
else
{
// incorrect username or password
$this->index();
}
}
型号代码:(该列在db的users表中称为'userID')
function get_userID($email){
$this->db->where('email',$email);
$query = $this->db->get('users');
foreach ($query->result() as $row)
{
$user_id = $row->userID;
}
return $user_id;
}
当我在视图中调用数组时,用户 ID 不会出现。
<?php $this->session->userdata('user_id');?>
【问题讨论】:
-
具体的问题是什么?您在下一页的会话中没有看到 $data 数组吗?
-
道歉;我已经更新了原帖。当我从视图中调用数组时,我什么也得不到。 session->userdata('user_id');?>
-
其他变量出现了吗?
-
您需要回显会话:
<?php echo $this->session->userdata('user_id'); ?>
标签: mysql codeigniter