如果用户是管理员,此函数应该输出消息“你是管理员”,但它没有显示任何内容。没有错误。
该函数是User()类的一部分。
班级职能:
public function hasPermission($key) {
$group = $this->_db->get('groups', array('id', '=', $this->data()->group));
if($group->count()) {
$permissions = json_decode($group->first()->permissions, true);
if($permissions[$key] == true) {
return true;
}
}
return false;
}
Index.php输出代码
<p><?php
if(Session::exists('home')) {
echo '<p>' . Session::flash('home') . '</p>';
}
$user = new User();
if($user->isLoggedIn()) {
echo 'You are logged in! <a href="#">' . escape($user->data()-username) . '</a> <a href="logout.php"><small>Logout</small></a>';
?>
<p>
<?php
if($user->hasPermission('admin')) {
echo 'You are an admin!';
}
?>
</p>
<?php } else {
echo 'You need to <a href="login.php">login</a> or <a href="register.php">register</a>.';
}
?></p>
编辑:我使用IS登录的用户是管理员。如果需要,我可以提供数据库结构。