2017-04-03 50 views
0

我有我的登錄在應用程序的問題。在我的登錄認證創建庫的名稱是「權威性」,我也是在自動加載通話「權威性」,但是當我稱之爲「身份驗證」功能的錯誤說錯誤登錄在我的HMVC代碼點火器

Message: Undefined property: Auth::$session 

這裏是我的圖書館「權威性」

class Auth { 
    public function cek_auth() 
    { 
     $this->ci =& get_instance(); 
     $this->sesi = $this->ci->session->userdata('isLogin'); 
     $this->hak = $this->ci->session->userdata('stat'); 
     if($this->sesi != TRUE){ 
      $this->session->set_flashdata("pesan", "Sesi Login anda telah habis"); 
      redirect('user/login'); 
      exit(); 
     } 

    } 
    public function hak_akses($kecuali="") 
    { 
     if($this->hak==$kecuali){ 
      echo "<script>alert('Anda tidak berhak mengakses halaman ini!');</script>"; 
      redirect('dashboard'); 
     }elseif ($this->hak=="") { 
      echo "<script>alert('Silahkan Login!');</script>"; 
      redirect('c_login','refresh'); 
     }else{ 

     } 
    } 
} 

我的控制器: 類儀表板延伸是CI_Controller {

function __construct() 
{ 
    parent::__construct(); 
    $this->auth->cek_auth(); //ngambil auth dari library 
} 
function index() 
{ 
    $hak_akses = $this->session->userdata('lvl'); 
    if($hak_akses==1) { 

     $data['content'] = 'dashboard'; 
     return $this->load->view('theme/index', $data); 
    } 

} 

}

和我的自動加載:

$autoload['libraries'] = array('database','form_validation','session','auth','parser'); 

請給我一個最好的解決方案,謝謝

回答

2

如果你在你的代碼中使用會話然後確保通過設置加密密鑰在config.php文件中自動加載。如果你不自動加載它,那麼你可以使用$this->load->library('session')加載它。 但是,您必須設置加密密鑰才能在控制器功能中自動加載或加載會話。

參考:Undefined property: CI::$session

希望這會有所幫助:)

0

嘗試加載會話庫內

public function __construct() 
{ 
    $this->ci =& get_instance(); 
    $this->ci->load->library('session'); 
    $this->sesi = $this->ci->session->userdata('isLogin'); 
}