我需要创建codeigniter基本控制器,通过mobel函数检查数据库中允许的ip地址,如果ip存在则用户应该转到主页但是如果ip地址不存在并且在codeigniter中显示404页面,我找不到核心应用文件夹中的文件夹
首先,您需要扩展一个核心类,称之为MY_Controller.php
将该文件保存在:application/core/MY_Controller.php中
class MY_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model('ip_table_model');
$this->load->library('input');
// assuming there's a function called "check_ip($ip_address)" in ip_table_model
if (!$this->ip_table_model->check_ip($this->input->ip_address()) {
redirect('error_404');
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我们假设您有一个名为ip_table_model的模型,它连接到具有IP地址列表的数据库,并且有一个名为check_ip的函数,它将验证用户是否具有访问权限.这相对简单,我不会在此展示任何示例.
该redirect('error_404');
页面尚不存在,您需要创建一个显示404页面的控制器.
现在,对于项目中的任何其他控制器,而不是扩展CI_Controller,使它们扩展为MY_Controller.
这是一个例子:
class Welcome extends MY_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('welcome_message');
}
}
Run Code Online (Sandbox Code Playgroud)
说明:我们正在扩展CI_Controller以创建我们自己的核心控制器,称为MY_Controller.在内部,我们正在检查用户是否可以通过构造函数访问,该构造函数将在项目中的每个其他控制器中调用.
参考文献:
归档时间: |
|
查看次数: |
5351 次 |
最近记录: |