2017-04-03 2 views
0

私はアプリケーションのログインに問題があります。私のログイン認証にライブラリ名を作成すると、「認証」であると私はまた、自動ロードで呼び出し、「AUTH」だったが、私は「AUTH」で関数を呼び出すときにエラーがここに エラーHMVCコードでログインします。Igniter

Message: Undefined property: Auth::$session 

がマイライブラリ「AUTH」であると言います

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{ 

     } 
    } 
} 

するコントローラ: クラスダッシュボードは{

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); 
    } 

} 

}

CI_Controllerを拡張します

と私のautoload:

$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'); 
} 
関連する問題