为啥 set_userdata() 不起作用?
Posted
技术标签:
【中文标题】为啥 set_userdata() 不起作用?【英文标题】:Why set_userdata() doesn't work?为什么 set_userdata() 不起作用? 【发布时间】:2017-10-08 01:48:51 【问题描述】:我正在使用 codeigniter 框架,但我遇到了会话问题。我试图创建登录页面,但使用 set_userdata() 时出现问题。 它不起作用。当我检查时,没有创建会话。 我的代码有什么问题吗??有人有同样的问题吗??
function __construct()
$this->CI=&get_instance();
$auth=$this->CI->config->item('auth');
$this->CI->load->helper('cookie');
$this->CI->load->library('session');
$this->CI->load->model('Auth_users_model');
function login($username,$password)
$result=$this->CI->Auth_users_model->get_login_info($username);
if($result)
$password=md5($password);
if($password==$result->password)
$user_ses=array('user_id_hcp'=>$result->id,'user_access_hcp'=>$result->access, 'user_username_hcp'=>$username);
$this->CI->session->set_userdata($user_ses);
return TRUE;
else
return FALSE;
else
return FALSE;
【问题讨论】:
打印 $result 时得到的结果。做 print_r($result);出口;在您的控制器中并检查 '$result' 从用户表返回用户名和密码。我认为这个函数没有问题,它返回TRUE,但会话仍然没有设置......当它返回TRUE时,页面将被重定向到Dashboard,但它被重定向回'登录页面',因为没有设置会话..我认为有两种可能: 1. set_userdata() 不能正常工作; 2. 重定向后会话丢失 【参考方案1】:而不是 $this->CI->session->set_userdata($user_ses); 尝试简单地使用 $this->session->set_userdata($user_ses);
【讨论】:
该代码在库中,所以我使用 $this->ci->session->set_userdata()。我尝试在其他页面中使用 '$this->session->set_userdata()' 创建会话,但它仍然不起作用。 set_userdata() 不能用...以上是关于为啥 set_userdata() 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
Angular 的 $http.post 不起作用,它的 $http... 也不起作用,但 jQuerys ajax 起作用。为啥?
为啥第二个(兄弟)React Context Provider 不起作用?或者,如果上面有同级 Context Provider,为啥 React Context Provider 不起作用