我已经完成了构建我的网站使用代码点火器,并已经建立了一个管理面板,其中有一个选项,使网站离线。
它以布尔值的形式保存在数据库中,所以如果它是1,站点就打开了,否则它就离线了。我还完成了一个offline.php视图文件的制作。
我还在我的数据库中创建了一个whitelisted_ip列,其中admin保存在一个数组中。唯一的问题是向每个人显示维护页面,但白名单上的IP除外。
我不能为此使用htaccess,因为我是从管理面板和数据库控制。
我想要的:
到目前为止我所拥有的是:
offline.php控制器
公共函数索引(){ $this->db->select('*');$this->db->from('site');$this->db->where('1',1);$query = $this->db->get();$result = $query->row();$whitelisted_ip =get( ",“,$result>whitelisted);$ip =$this->input->ip();如果($结果->站点_脱机){ if (!in_array($ip,$whitelisted_ip)) {$this->load->视图(‘site_offline’);}offline{}{重定向(base_url());}$this->load->视图(‘site_offline’);我只需要能够让我的网站上的每一个页面都有这个代码,或者告诉我的网站上的每一个页面,如果该站点是脱机的,显示离线页面。
任何帮助都是非常感谢的。谢谢
编辑:请让我知道这是否有效(对我有用)。
MY_Controller.php文件:
class MY_Controller extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
function offline_mode()
{
$this->db->select('*');
$this->db->from('site');
$this->db->where('1', 1);
$query = $this->db->get();
$result = $query->row();
$whitelisted_ip = explode(",", $result->whitelisted_ip);
$ip = $this->input->ip_address();
if ($result->site_offline) {
if (!in_array($ip, $whitelisted_ip)) {
$this->load->view('site_offline');
}
} else {
redirect(base_url());
}
} }我所有的其他控制员:
class Page extends MY_Controller
{
public function __construct()
{
parent::__construct();
$this->offline_mode();
$this->load->helper('url');
}这是个好办法吗?
发布于 2015-10-12 15:42:40
像这样改变。
public function __construct()
{
parent::__construct();
$this->db->select('*');
$this->db->from('site');
$this->db->where('1', 1);
$query = $this->db->get();
$result = $query->row();
$whitelisted_ip = explode(",", $result->whitelisted_ip);
$ip = $this->input->ip_address();
if ($result->site_offline) {
if (!in_array($ip, $whitelisted_ip)) {
$this->load->view('site_offline');
}
} else {
redirect(base_url());
}
}
}我的意思是,不需要每次都保持功能。将代码保存在构造函数中。所以每次它检查网站是否离线。
如果您想保留is作为函数,请像下面这样更改构造函数,
public function __construct()
{
parent::__construct();
$this->offline_mode();
}因此,在这两种情况下,您只编写一次检查代码,不需要调用每个控制器中的函数。
https://stackoverflow.com/questions/33084295
复制相似问题