仅在PHP中的简单用户系统上为管理员创建可见页面

时间:2014-06-04 08:26:37

标签: php admin visibility

我正在创建一个系统,用户可以在日历上添加项目并添加有关比赛的报告。但我希望在它们在网站上可见之前激活它们。

我有一行kal_active,要显示的项目必须为1(日历) 而vers_active也必须是1(报告)。

在users表中,我添加了一行admin,并给了自己一个" 1"那里。

现在我的想法是创建一个只有在admin = 1时才能访问的页面。当用户通过以下代码登录时,我已经显示了用户内容:

if(isset($_SESSION['user_id'])){ 

但是我怎么能在这里添加一个额外的选项,以便它只在admin = 1时出现?

提前致谢

2 个答案:

答案 0 :(得分:0)

我猜您的意思是这样的:if(!empty($_SESSION['user_id']) && $admin == 1){ !emptyisset完全相同,但也检查(在这种情况下会话)是否为空

答案 1 :(得分:0)

你的UAC有点简单且容易出现黑客,但这仍然可行:

public function hasAccess($userId, $appPart) {
    $con = new mysqli('host', 'user', 'pass', 'db');
    $result = $con->query('SELECT * FROM user_table WHERE id=' . $userId);

    $row = mysqli->fetch_object($result);

    switch ($appPart) {
        case 'kal_active':
            $ret = $row->kal_active == 1;
            break;
        case 'vers_active':
            $ret = $row->vers_active == 1;
            break;
        default:
            $res = false;
            break;
    }

    $result-close();
    $con->close();

    return $res;
}

现在您只需要在会话中使用id调用此函数,并使用所需的应用程序部分进行检查(例如kal_active)。