我使用codeigniter。我已使用会话拥有权限访问级别php
和mysql
。
我想限制注册管理员可以查看的页面,具体取决于他的访问级别。我在数据库中为每个管理员(每个id_relation
是管理员)作为图像:
上述数据库表中的每个数字都是一个页面,例如:(值子页面和服务列为json
)
:1
为page 1
,3
为page 3
,5
为page 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
的权限?例如在上面的数据库中。
在身份1
中,mainpage
中的用户可以访问页面1
,并且在此主页(第1页)中,他可以访问子页面和每个页面中的第3,4,6页他可以访问服务110的子页面。(它们像链一样连接在一起。)
它也适用于其他行。 我的html为:http://jsfiddle.net/pbNt3/我的插入数据的php为:http://pastebin.com/HpztqSwV
如何允许用户通过php访问其子页面中的任何页面(主页和子页面)和服务?
答案 0 :(得分:0)
如何针对您的数据库运行查询,以查看WHERE主页= 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);
}
}
希望你可以从这里拿走一些东西。