用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2209|回复: 9
收起左侧

【权限小问题】求大神指点迷径!求求求求求求求求求求

[复制链接]
发表于 2013-4-4 09:11:31 | 显示全部楼层 |阅读模式
新人,求照顾 {:soso_e165:}{:soso_e165:}


1、大神们加载权限判断可是在__construct()里面判断的?


2、判断可是写在core下的MY_Controller里面的吗


3、程序执行的时候先执行__construct()吧?然后判断权限不符合就弹出提示吧?
     
     现在我的问题是:
程序先执行了操作,然后才去执行__construct()里面的$this->check_permit()检查权限。 就是说,先执行了一个删除,然后删除完了,才弹出来窗口:”您好没有执行该目录的权限!“


请问这是什么问题呢? 下面有贴代码。。。麻烦大牛们看看{:soso__8162090667950128385_1:}




控制器下的:
PHP复制代码
 
 
 
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()匹配的方式)
}
 
 
//就这样,每次都是先执行操作,操作完成后才执行验证,快崩溃了 !
 
 
 
 
 
复制代码


































 楼主| 发表于 2013-4-4 09:13:27 | 显示全部楼层
{:soso__3669389859068460655_3:}有大神愿意指点一二吗?  新手感激不尽!
发表于 2013-4-4 10:08:24 | 显示全部楼层
目测是你的逻辑本身有些问题,判断没有权限后,你不应该用ECHO
发表于 2013-4-4 10:10:03 | 显示全部楼层
PHP复制代码
echo "<script language='javascript'>alert('您没有访问该目录的权限!');self.location.href='".base_url()."index.php/admin/right';</script>";
复制代码
改成这样试试
PHP复制代码
show_error("<script language='javascript'>alert('您没有访问该目录的权限!');self.location.href='".base_url()."index.php/admin/right';</script>");
复制代码
 楼主| 发表于 2013-4-4 10:54:58 | 显示全部楼层
本帖最后由 codeigniter_lht 于 2013-4-4 10:57 编辑
Altair 发表于 2013-4-4 10:10
改成这样试试

哈哈哈哈哈哈哈哈哈哈,就是这样,这是为什么呢?

为什么换成show_error();就好了呢?

现在唯一的不完美的地方是:


这个错误怎么不让它显示?
 楼主| 发表于 2013-4-4 10:57:35 | 显示全部楼层
An Error Was Encountered
 楼主| 发表于 2013-4-4 12:48:25 | 显示全部楼层
搞定啦!

show_error('消息' [, int $status_code = 500 ] [, string $heading = 'An Error Was Encountered'])

这样就可以改掉~~,感谢Altair!
发表于 2013-4-4 21:40:09 | 显示全部楼层
发表于 2013-4-19 16:03:16 | 显示全部楼层
走到这了,一百元,拿起,谢谢了
发表于 2013-4-19 16:17:47 | 显示全部楼层
altair 留一点问题给楼主, 楼主也是忽悠看帖者,   把前面的函数去掉不就行啦

本版积分规则