我的MY_Controller位於我的核心文件夾上。Codeigniter 3 MY_Controller
<?php
class MY_Controller extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function is_logged_in($data){
$session = $this->session->userdata();
if($session['isloggedin']['username'] == ''){
return isset($session);
}else{
return FALSE;}
}
}
?>
我很確定我複製粘貼上面的代碼從一些教程,我沒有得到編輯它根據我的需要。
任何情況下,我有問題。
所以我有一個頁面控制器將負責根據登錄用戶的account_type訪問某些視圖。
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class pages extends MY_Controller {
}?>
這是我的會議時英寸
$new_session = array('username' => $this->input->post('username'),
'email' => $this->input->post('email'),
'type' => $this->input->post('type'),
'logged_in' => TRUE);
$this->session->set_userdata($new_session);
用戶登錄如何從頁面控制器調用MY_controller功能is_logged_in()
或者是「延伸MY_Controller」也自動調用該函數is_logged_in()
或我必須基本上只是把它放在__construct
所以它會自動調用函數?
此外,如何檢查用戶是否已登錄並查看其詳細信息?
我是否將session_data從我的控制器傳遞給MY_Controller?如果是這樣,怎麼樣?
或者我應該只在is_logged_in()
函數中加入$this->session->userdata();
行?
P.S.我曾嘗試使用身份驗證庫,但他們包括太多我需要的,我只需要一個基本的身份驗證。有什麼建議麼?現在仍然維持。
哦,這樣的擴展意味着我可以叫我的控制器的功能? 我的印象是,每當我加載頁面控制器它會自動加載MY_controller。猜猜我錯了。 –
我的is_logged_in功能正常嗎?因爲我覺得它有很多的冗餘,比如$ data參數,爲什麼要傳遞$ data來檢查真實性,如果我可以在函數本身中使用$ session-> userdata()? 另外如果和isset, –