Php Codeigniter-根据检查用户存在时返回的行设置会话。登录
我正在制作一个项目中的积垢区,它需要通过登录屏幕进行保护 登录检查工作正常,但我在设置会话变量时遇到问题 到目前为止,我可以设置会话变量,但只能设置为固定值,如何将会话值设置为从数据库检索的值。我尝试过各种方法,但在互联网上找不到解决方案 我认为问题在于,当Php Codeigniter-根据检查用户存在时返回的行设置会话。登录,php,codeigniter,session,Php,Codeigniter,Session,我正在制作一个项目中的积垢区,它需要通过登录屏幕进行保护 登录检查工作正常,但我在设置会话变量时遇到问题 到目前为止,我可以设置会话变量,但只能设置为固定值,如何将会话值设置为从数据库检索的值。我尝试过各种方法,但在互联网上找不到解决方案 我认为问题在于,当$query变量返回true时,我丢失了模型中变量的数据,但是我不知道如何将其与行数据一起传递回去 尝试 $query->nombre, $query['nombre'], $this->$query['nombre'] 是,此时没有表单验证
$query
变量返回true时,我丢失了模型中变量的数据,但是我不知道如何将其与行数据一起传递回去
尝试
$query->nombre
,
$query['nombre']
,
$this->$query['nombre']
是,此时没有表单验证
控制器(我认为问题在这里)
模型
function check_login()
{
$this->db->where('login', $this->input->post('login'));
$this->db->where('clave', $this->input->post('clave'));
$query = $this->db->get('admins');
if($query -> num_rows() ==1)
{
return true;
}
else
{
return false;
}
}
如果未设置会话,则将构造函数重定向到登录
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in) || $is_logged_in != true)
{
redirect('horseadmin_login');
}
谢谢您的检查登录功能返回false和true,而不是$query,请尝试此操作
function check_login()
{
$this->db->where('login', $this->input->post('login'));
$this->db->where('clave', $this->input->post('clave'));
$query = $this->db->get('admins');
if($query -> num_rows() > 0)
{
return $query->row_array()
}
return false;
}
当你每次点击你的控制器时,构造器都会运行,你要做的是“安装”任何类型的身份验证库,使用它,并且有一种方法可以检查用户是否登录。这是最简单的方法。
function check_login()
{
$this->db->where('login', $this->input->post('login'));
$this->db->where('clave', $this->input->post('clave'));
$query = $this->db->get('admins');
if($query -> num_rows() > 0)
{
return $query->row_array()
}
return false;
}