Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 编码点火器控制器问题_Php_Codeigniter - Fatal编程技术网

Php 编码点火器控制器问题

Php 编码点火器控制器问题,php,codeigniter,Php,Codeigniter,这是我的AdminBase.php <?php class AdminBase extends Controller{ public function __construct(){ parent::Controller(); $admin = $this->session->userdata('username'); if(!isset ($admin)){ redirect('/Site/Ho

这是我的AdminBase.php

<?php

class AdminBase extends Controller{

    public function __construct(){
        parent::Controller();
        $admin = $this->session->userdata('username');
        if(!isset ($admin)){
            redirect('/Site/Home');
        }
    }

}

您需要将这一行放在Admin.php的顶部

<?php
// Include Base Controller
    include ('AdminBase.php');
class Admin extends AdminBase{

    public function index(){
        echo "You are in Admin panel!!";
    }

}

您需要将这一行放在Admin.php的顶部

<?php
// Include Base Controller
    include ('AdminBase.php');
class Admin extends AdminBase{

    public function index(){
        echo "You are in Admin panel!!";
    }

}

还有另一种方法,就是在application/libralies上创建文件名MY_Controller.php

然后像这样创造

<?php
class AdminBase extends Controller {
    public function __construct(){
        parent::Controller();
        $admin = $this->session->userdata('username');
        if(!isset ($admin)){
            redirect('/Site/Home');
        }
    }
}

还有另一种方法,就是在application/libralies上创建文件名MY_Controller.php

然后像这样创造

<?php
class AdminBase extends Controller {
    public function __construct(){
        parent::Controller();
        $admin = $this->session->userdata('username');
        if(!isset ($admin)){
            redirect('/Site/Home');
        }
    }
}

谢谢Muhit,你能告诉我为什么即使没有设置会话变量,我也会在管理面板中看到你吗?您发现我的AdminBase类有任何错误吗?如果(!isset($admin))始终为false,则找到。因为$this->session->userdata('username');将始终返回一个值或布尔值,因此它不应该是“!isset()”,而可能是“empty()”或检查null或检查false等。在CodeIgnitor中使用
include
是一种不好的做法,您需要创建一个库,然后加载它。感谢Muhit,你能告诉我为什么即使没有设置会话变量,我也会看到你在管理面板中?您发现我的AdminBase类有任何错误吗?如果(!isset($admin))始终为false,则找到。因为$this->session->userdata('username');将始终返回一个值或布尔值,因此它不应该是“!isset()”,而可能是“empty()”或检查null或检查false等。在控制器内使用
include
在CodeIgnitor中是一种不好的做法,你需要创建一个库,然后加载它。你可以在codeingniter中使用hmvc,这很好,然后扩展类。你可以在codeingniter中使用hmvc,这很好,然后扩展类