检查用户ID是否设置的代码问题,我在检查用户是否登录时使用此代码。
public function _construct()
{
parent:: _construct() ;
if( ! $this->session->userdata('user_id') )
return redirect ('login');
}
输出:
logged in page can still be accessed by entering url.
答案 0 :(得分:0)
首先确保您使用$this->session->set_userdata('user_id','value');
设置会话。然后使用$this->session->has_userdata('user_id');
public function _construct()
{
parent:: _construct() ;
if($this->has_session->userdata('user_id'))
redirect('login');
}
同时从return redirect('login');
移除返回。您可以return
或redirect
,但不能同时删除。{/ p>
了解更多资料Codeigniter Session
答案 1 :(得分:0)
您必须先使用
设置会话$this->session->set_userdata('user_id','value');
然后检查会话并重定向,如果没有使用下面的代码设置,
if(!$this->session->userdata('user_id')){
redirect ('login','refresh');
}
你不能使用return,因为这不是被调用的函数而你正在返回一些东西,重定向辅助函数会自动在登录页面上重定向。
谢谢