0

我使用codeigniter。我已经有权限访问级别phpmysql使用会话。我想根据他的访问级别限制注册管理员可以查看的页面。我在数据库中为每个管理员(每个id_relation管理员)作为图像:

在此处输入图像描述

上面数据库表中的每个数字都是一个页面,例如:(值子页面和服务列是json

在主页中:1is page 1, 3is page 3, 5ispage 5和 ...

PHP:(我试过)

$result = $this->db->get_where('access_level', array('id_relation'=>'6572242cc91f61b2f722e31ec55e3c7c'));
$data = array();
foreach($result->result() as $row){
    $data[] = $row->mainpage;       
}

if(in_array('1', $data)){
    echo 'access';
}else{
    echo 'not access';
} // out put is access

现在如何为拥有自己页面subpage的三行设置权限?mainpage 1例如在上面的数据库中。

在 id1中,用户mainpage可以访问页面1,并且在此主页(第 1 页)中,他可以访问子页面中的第 3、4、6 页,并且在每个子页面中,他都可以访问服务 110。(它们像链一样连接在一起。)

它也适用于其余的行。我的 html 为: http: //jsfiddle.net/pbNt3/我用于插入数据的 php 为: http: //pastebin.com/HpztqSwV

如何允许用户通过 php 访问任何页面(主页面和子页面)和子页面中的服务?

4

1 回答 1

0

您如何对您的数据库运行查询以查看是否从 WHERE mainpage = 1 返回了某些内容。

例子 :

SELECT......
FROM........
WHERE (your database flag) = ..........

我在我的应用程序上进行了相同的设置。我有 3 个角色,学生、员工、管理员。然后我使用 if else 语句。现在,根据我对您数据库的了解,只有窗帘人员可以访问页面、子页面和服务。这可以通过简单地查询并查看是否

return $whateveryou...

示例 2:

function staffmember()
    {
        $username1 = $this->session->userdata('username');
        $sql1 = "SELECT * FROM users WHERE username = :user AND activated = 1";
        $staffmember = $this->db->conn_id->prepare($sql1);
        $staffmember->bindParam(':user', $username1);
        $staffmember->execute();
        $row = $staffmember->fetch();

        if($row['staffmember'] == 1)
        {
            return $staffmember;
        }
    }


    function is_admin()
    {
    $username = $this->session->userdata('username');
    $sql = "SELECT * FROM users WHERE username = :user";
    $is_admin = $this->db->conn_id->prepare($sql);
    $is_admin->bindParam(':user', $username);
    $is_admin->execute();   
    $row = $is_admin->fetch();

        if($row['admin'] == 1)
        {
            return $is_admin;
        }
    }

所以然后在控制器中你做:

function index()
    {
        $this->load->model('staff_model');
        if($staffmember = $this->staff_model->staffmember()) //Checks for staff value == 1 
        {
            if($is_admin = $this->staff_model->is_admin()) // Checks for admin value == 1
        {
            $data3['main_content'] = 'admin_view';
            $this->load->view('includes/template', $data3);
        }else{ // If not admin == 1 
            $data['main_content'] = 'staff_homepage_view';
            $this->load->view('includes/template', $data);
        }
        }else{ // If not staff == 1
            $data1['main_content'] = 'student_homepage_view';
            $this->load->view('includes/template', $data1); 
        }

}

希望你能从中得到一些有用的东西。

于 2013-02-17T12:14:04.713 回答