簡體   English   中英

重定向到登錄頁面 - Codeigniter

[英]Redirecting to login page- Codeigniter

我想查看會話; 如果退出它會進入我的網站,否則重定向到“登錄”頁面; 這是我的控制器:

function __construct() {
    parent::__construct();
    $this->is_logged_in();
}

public function index($failed=FALSE) {
    $data['main_content'] = 'login_view';
    $data['failed_validation'] = $failed;
    $this->load->view('includes/template', $data);
}

public function is_logged_in() {
    if ($this->session->userdata('f_name') != null) {
        return;
    } else {
        $this->index();
       //die()// This one does not help either
    }
}

public function display_site() {
    $data['main_content'] = 'site_view';
    $this->load->view('includes/template', $data);
}

這是建議之后的版本(但仍然是同樣的問題!):

控制器:

function __construct() {
    parent::__construct();
    $this->load->model('user_model');
    if ($this->user_model->is_logged_in() == FALSE) {
        $this->index();
    }
}

public function index($failed=FALSE) {
    $data['main_content'] = 'login_view';
    $data['failed_validation'] = $failed;
    $this->load->view('includes/template', $data);
}

public function login() {
    $data['main_content'] = 'login_view';
    $data['failed_validation'] = FALSE;
    $this->load->view('includes/template', $data);
}

模型:

  public function is_logged_in()
    {
         return ($this->session->userdata('is_logged_in') );
    }

這很好,但當用戶登錄頁面時,它會顯示登錄頁面和我的網站主頁! 另一方面,即使我死了(參見我的代碼中的注釋)它沒有幫助,它給了我一個空白頁面!

謝謝

登錄控制器:

class Login extends CI_Controller {

    public function __construct() {
        parent::__construct();
    }

    public function index() {
        $this->load->view('includes/login');
    }
}

主控制器:

class Main extends CI_Controller {
    public function __construct() {
        parent::__construct();      
            $this->load->model('user_model');
            if (!$this->user_model->is_logged_in()) {
               redirect(base_url().'login', 'location', 301);
            }   
    }

    public function index() {
        $this->load->view('includes/main');
    }
}

您將需要使用redirect()函數,該函數是url_helper的一部分。 一旦你加載了,你可以簡單地調用redirect(“yoururlhere.com”)因為你可能經常使用它,你可能想要自動加載它而不是每次都加載lib。

暫無
暫無

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

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