2017-04-03 35 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'); 
}