簡體   English   中英

如何在codeigniter中檢查用戶是否登錄

[英]how to check is user login or not in codeigniter

我正在為無法登錄而無法訪問頁面的用戶使用此代碼,但無法阻止該用戶。

if(! $this->session->userdata('id'))
         return redirect('Login');
   $this->load->view('public/dashboard');

試試這個開始。 但通常我使用另一種策略,即在Views中創建if語句。 如果這不適合您,我將進一步檢查。

 if(! $this->session->userdata('id')){
       $this->load->view('Login'); }
else {
       $this->load->view('public/dashboard'); }

你能做的就是這樣

應用程序/核心/MY_Controller.php

<?php 

class MY_Controller extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $route = $this->router->directory . $this->router->fetch_class();

        // echo $route;

        // Ignore any controllers not to be effected 
        $ignore = array(
            'dirname/controllername',
        );

        // If the user has not logged in will redirect back to login

        if (!$this->session->userdata('id') && !in_array($route, $ignore)) {
            $this->session->unset_userdata('id');
            redirect($this->config->item('base_url') . 'login');
        }
    }
}

在控制器上,將CI_Controller更改為MY_Controller

class Example extends MY_Controller {

     public function index() {

    }

}
if( $this->session->userdata('id') == "")
{
   redirect('Login');
}
else
{

   redirect('dashboard');
}

這里的登錄名和儀表板都是控制器名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM