[英]Codeigniter autoload session is not working
問題是,當我登錄到項目時,它會創建會話,但是當我嘗試從其他控制器甚至從同一控制器訪問該會話時,該會話數據不存在,我已經從自動加載中加載了會話,並且我還嘗試在構造函數中加載會話,但問題仍然存在。 原諒我的英語,這不是我的母語,希望您能幫助我,謝謝
控制器登錄功能:
public function do_login(){
$user = $this->input->post('usuario');
$passwd = $this->input->post('clave');
$data = $this->login_model->do_login($user,$passwd);
if($data){
$this->session->set_userdata("login",(array)$data);
//print_r($this->session->userdata());
echo json_encode(array('status' => 1,'message'=>'Bienvenido','idPerfil'=> $data->idPerfil));
}else
echo json_encode(array('status' => 0,'message'=>'Usuario o contraseña incorrecto'));
}
constructor
public function __construct(){
parent::__construct();
$this->load->model('login_model');
$this->load->library('Mobile_Detect');
//$this->load->model('cat_usuarios_model');
// $this->load->model('cat_sucursales_model');
$this->load->library("session");
}
這是autoload.php行
$autoload['libraries'] = array('session','database','form_validation','email');
您的問題與配置有關。
$config['sess_save_path'] = NULL
這導致了故障。
如果$config['sess_driver'] = 'files';
然后必須將 $config['sess_save_path']
設置為保存文件的文件夾的絕對路徑 。
您可以為文件創建一個文件夾。 有關更多信息,請參見文檔 。 或者,您可以使用以下內容。
$config['sess_save_path'] = sys_get_temp_dir();
創建一個特定的文件夾來保存會話文件可能比使用sys_get_temp_dir()
。 這還需要一點點工作,因為如果您只是學習如何做,則設置文件夾的權限和所有權可能會很棘手。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.