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