我正在创建一个系统,用户可以在日历上添加项目并添加有关比赛的报告。但我希望在它们在网站上可见之前激活它们。
我有一行kal_active,要显示的项目必须为1(日历) 而vers_active也必须是1(报告)。
在users表中,我添加了一行admin,并给了自己一个" 1"那里。
现在我的想法是创建一个只有在admin = 1时才能访问的页面。当用户通过以下代码登录时,我已经显示了用户内容:
if(isset($_SESSION['user_id'])){
但是我怎么能在这里添加一个额外的选项,以便它只在admin = 1时出现?
提前致谢
答案 0 :(得分:0)
我猜您的意思是这样的:if(!empty($_SESSION['user_id']) && $admin == 1){
!empty
与isset
完全相同,但也检查(在这种情况下会话)是否为空
答案 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)。