【发布时间】:2017-02-14 09:58:28
【问题描述】:
我有两个页面供管理员和用户使用。当管理员登录时,它将重定向到http://localhost/ci3/admin/Adminhomepage,当用户登录时,它将重定向到http://localhost/ci3/user/Userhomepage。以用户身份登录后,如果我像这样http://localhost/ci3/admin/Adminhomepage 更改网址,它将直接转到管理主页。我希望它会转到管理员登录页面http://localhost/ci3/admin/Adminlogin。我有用户 ID 和管理员权限,如查看、编辑、添加和删除角色。在此任何人都设置为1,然后他是管理员,否则他是用户。我想在 Admin_controller 中编写该逻辑。
Admin_controller
<?php
class Admin_controller extends CI_Controller{
function __construct()
{
parent::__construct();
$this->load->model("Adminmodel","",true);
$userId = $this->session->userdata('cp_adminid');
$toCheck = $this->Adminmodel->tocheckadmin($userId);
}
}
?>
Admin_model
public function tocheckadmin($userId){
$sql = "SELECT * FROM users u
INNER JOIN roles r
ON r.roleId = u.roleId
INNER JOIN permissions p
ON p.roleId = r.roleId
INNER JOIN module m
ON m.moduleId = p.moduleId
WHERE userId= $userId
AND (p.view == 1 or p.add == 1 or p.edit == 1 or p.deleteRole == 1)";
}
【问题讨论】:
-
如果你得到记录那么它的管理员其他用户。然后在控制器中检查您是否从数据库中获得任何记录。在此基础上加载视图。
标签: php codeigniter-3