钩子没有在 codeigniter 中加载
hooks didn't load in codeigniter
我是 codeigniter 的新手,我想要 2 个名称为 "login" 和 "admin" 的页面
我使用挂钩和会话来检测用户是否登录,但不幸的是挂钩根本没有加载(调用)。
有什么想法吗?
我的控制器:
<?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!!");
}
}
}
?>
编辑: 最后 hooks.php
:
$hooks['pre_controller']=array(
'class'=>'Auth_hook',
'function'=>'index',
'filename'=>'Auth_hook.php',
'filepath'=>'hooks'
);
你查看代码手册了吗hooks?
application/config/hooks.php:
$hook['pre_controller'] = array(
'class' => '',
'function' => 'MY_FUNCTION',
'filename' => 'MY_CLASS.php',
'filepath' => 'hooks',
'params' => ''
);
application/hooks/MY_CLASS.php:
<?php
function Myfunction(){
echo "HOOK PROBLEM .. !!";
die;
}
?>
为此,我进入此页面并获得 'HOOK PROBLEM .. !!'。
编辑:
您的代码正在执行您想要的操作。在进行任何类型的重定向之前,您需要检查登录信息。
If (user is not logged in) {
If (Current route is not a login page) {
Redirect user to login page
}
}
试试这个:
$hook['pre_controller']
而不是这个:
$hooks['pre_controller']
我是 codeigniter 的新手,我想要 2 个名称为 "login" 和 "admin" 的页面
我使用挂钩和会话来检测用户是否登录,但不幸的是挂钩根本没有加载(调用)。
有什么想法吗?
我的控制器:
<?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!!");
}
}
}
?>
编辑: 最后 hooks.php
:
$hooks['pre_controller']=array(
'class'=>'Auth_hook',
'function'=>'index',
'filename'=>'Auth_hook.php',
'filepath'=>'hooks'
);
你查看代码手册了吗hooks?
application/config/hooks.php:
$hook['pre_controller'] = array(
'class' => '',
'function' => 'MY_FUNCTION',
'filename' => 'MY_CLASS.php',
'filepath' => 'hooks',
'params' => ''
);
application/hooks/MY_CLASS.php:
<?php
function Myfunction(){
echo "HOOK PROBLEM .. !!";
die;
}
?>
为此,我进入此页面并获得 'HOOK PROBLEM .. !!'。
编辑:
您的代码正在执行您想要的操作。在进行任何类型的重定向之前,您需要检查登录信息。
If (user is not logged in) {
If (Current route is not a login page) {
Redirect user to login page
}
}
试试这个:
$hook['pre_controller']
而不是这个:
$hooks['pre_controller']