[英]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.