繁体   English   中英

$this->session->set_userdata() 在 codeigniter 中不起作用

[英]$this->session->set_userdata() not working in codeigniter

该应用程序已经完美运行了两年多,只是我无法登录 Web 应用程序。 我发现 $this->session->set_userdata() 不起作用。 我输入了我的凭据,然后我被重定向回登录页面。 我试图在 set_userdata() 上使用一个语句,发现它不起作用。 我的代码如下所示

/* Autoload.php*/
$autoload['libraries'] = array('database', 'email', 'session');
/* Config.php */
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = BASEPATH.'sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

/* Login Controller */
public function verify_login(){
        $this->load->library('session');
        $pass = $this->input->post('password');
        $username = $this->input->post('username');
        $action = 'Login';
        if($this->admodel->Check_Login_In_DB($username,$pass)){
            $sess_array = array();
            $sess_array = array(
            'uid' =>  $this->admodel->getUidByUsername($username),
            'username' => $username
       );
       $this->session->set_userdata($sess_array);
       $this->admodel->insertLog($action,$this->admodel->getUidByUsername($username));
       redirect(base_url(), 'refresh');
        }else{
        $this->session->set_flashdata('msg','<div style="color:#b94a48;
        background-color:#f2dede;border-color:#eed3d7;height:auto;padding:5px;border-radius:3px;margin-bottom:7px;
        clear:both">The Email and Password Combination is not found in the database,Check Properly and try again !!!</div>');
            redirect(base_url().'login','refresh');
        }

    }

/* Homepage */
public function index(){

        if(!$this->session->userdata('uid')){

            $this->session->set_flashdata('msg','<div style="color: #b94a48;background-color:

            #f2dede;border-color: #eed3d7;height:auto;padding:5px;border-radius:3px;clear:both;margin-bottom:10px">

            You need to signin to continue !!!</div>');

            redirect(base_url().'login','refresh');

        }

请像这样更改会话语法。

$this->session->set_userdata('user_session',$sess_array);

它会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM