【权限小问题】求大神指点迷径!求求求求求求求求求求
新人,求照顾 {:soso_e165:}{:soso_e165:}1、大神们加载权限判断可是在__construct()里面判断的?
2、判断可是写在core下的MY_Controller里面的吗
3、程序执行的时候先执行__construct()吧?然后判断权限不符合就弹出提示吧?
现在我的问题是:
程序先执行了操作,然后才去执行__construct()里面的$this->check_permit()检查权限。 就是说,先执行了一个删除,然后删除完了,才弹出来窗口:”您好没有执行该目录的权限!“
请问这是什么问题呢? 下面有贴代码。。。麻烦大牛们看看{:soso__8162090667950128385_1:}
控制器下的:
class Admin extends MY_Controller{
function __construct(){
parent::__construct();
$this->check_permit();
$this->load->helper('url');
...
}
...
}
//MY_Controller.php下的:
protected function check_permit($action = '', $folder = '')
{
if ( ! $this->permit($action, $folder))
{
echo "<script language='javascript'>alert('您没有访问该目录的权限!');self.location.href='".base_url()."index.php/admin/right';</script>";
return FALSE;
}
}
private function permit($act = '', $folder = ''){
//.........验证权限的代码.........(用in_array()匹配的方式)
}
//就这样,每次都是先执行操作,操作完成后才执行验证,快崩溃了 !
{:soso__3669389859068460655_3:}有大神愿意指点一二吗?新手感激不尽! 目测是你的逻辑本身有些问题,判断没有权限后,你不应该用ECHO echo "<script language='javascript'>alert('您没有访问该目录的权限!');self.location.href='".base_url()."index.php/admin/right';</script>";改成这样试试
show_error("<script language='javascript'>alert('您没有访问该目录的权限!');self.location.href='".base_url()."index.php/admin/right';</script>"); 本帖最后由 codeigniter_lht 于 2013-4-4 10:57 编辑
Altair 发表于 2013-4-4 10:10 static/image/common/back.gif
改成这样试试
哈哈哈哈哈哈哈哈哈哈,就是这样,这是为什么呢?
为什么换成show_error();就好了呢?
现在唯一的不完美的地方是:
http://baidu.weichanke.com/images/show_error.png
这个错误怎么不让它显示? An Error Was Encountered 搞定啦!
show_error('消息' [, int $status_code = 500 ] [, string $heading = 'An Error Was Encountered'])
这样就可以改掉~~,感谢Altair! :victory: 走到这了,一百元,拿起,谢谢了:@ altair 留一点问题给楼主, 楼主也是忽悠看帖者,:@ 把前面的函数去掉不就行啦:L
页:
[1]