2016-08-06 1 views
1

私はcodeigniterで新しく、 "login"と "admin"という名前の2ページを追加します フックとセッションを使用してユーザを検出してログインしていますが、読み込まれなかった(呼び出し)。
マイコントローラ:フックがcodeigniterにロードされていません

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Auth extends CI_Controller{ 

    public function __construct(){ 
     parent::__construct(); 
    } 


    public function index(){ 

    } 
} 


マイフック:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 

class Auth_hook { 

    protected $CI; 

    public function __construct() { 
     $this->CI =& get_instance(); 
    } 

    public function index(){ 
     print_r("hello!!"); 
     } 
    } 
} 
?> 

EDIT:そして最後にhooks.php

$hooks['pre_controller']=array(
    'class'=>'Auth_hook', 
    'function'=>'index', 
    'filename'=>'Auth_hook.php', 
    'filepath'=>'hooks' 
); 

答えて

1

これを試してみてください。これに代えて

$hook['pre_controller'] 

$hooks['pre_controller'] 
0

hooksのマニュアルを確認しましたか?

アプリケーション/設定/ hooks.php:

$hook['pre_controller'] = array(
           'class' => '', 
           'function' => 'MY_FUNCTION', 
           'filename' => 'MY_CLASS.php', 
           'filepath' => 'hooks', 
           'params' => '' 
           ); 

アプリケーション/フック/ MY_CLASS.php:そのために

​​

、私はこのページに移動すると「HOOKの問題を取得します。.. !! '

EDIT:

あなたのコードは、あなたが望むものをやっています。リダイレクトを行う前にログインを確認する必要があります。

If (user is not logged in) { 
    If (Current route is not a login page) { 
     Redirect user to login page 
    } 
} 
+0

はい、編集部分を確認してください。 –

+1

私の編集版をチェックしてください。 – Noman

+0

@SyedNomanあなたのリンクは古くなっています。ellislabはCIを扱っていません。もし可能であれば、ここからリンクを使いましょう。http://www.codeigniter.com/docs – user4419336

関連する問題