如何在php中显示exit()之前的内容



我使用codeigniter。在我的一个管理控制器中,当一个管理员登录后,我想创建一个开关来检查他的管理级别。如果他的级别低于某个数字,他就不能查看某个页面。相反,将加载一个限制通知页面,然后该页面将停止加载。

function add_user() {
    $this->set_admin_level(9);
    // stuffs
}
private function set_admin_level($level){
    if ($this->session->userdata('admin_level') < $level ) {
        $this->load->view("admin/restriction");
        exit();
    }
}

我尝试了exit()和die(),但是这两种方法都终止了整个页面,没有显示任何内容。我知道我可以用if和then重定向方法来做到这一点,但我想知道我是否可以用前面的方法来做到这一点。

try this:

private function set_admin_level($level){
   if ($this->session->userdata('admin_level') < $level ) {
       return $this->load->view("admin/restriction");
   }
}

die or exit将停止所有PHP处理。

如果您不希望在空白页上显示错误消息,则需要一个页面/视图来显示错误消息。然后,您可以将用户重定向到该页,或者在退出之前在PHP中运行该页,例如使用$this->load->view

无论哪种方式,您都需要先创建页面或视图,因为您不可能什么都不做就显示某些内容。

在显示实际的错误页面之前,请设置HTTP 403头,向浏览器和搜索引擎表明这是一个拒绝访问错误页面,而不是一个正常的页面。

相关内容

  • 没有找到相关文章

最新更新