我一直在寻找答案,但找不到答案,所以这就是我的情况。我有以下数组:
$pages = array(
'page-one'=>range(1,9),
'page-two'=>range(1,3),
'page-three'=>range(5,9)
);
我想基于他的角色ID验证用户对该页面的访问权限,所以,让我们说约翰(角色id = 2)想要访问第二页。那么,我如何验证页面是否存在,并且他拥有一个有效的角色。
我尝试过像......
foreach ($pages as $page=>$roles) {
if (given-page==$page) {
// Then validate role id
if (in_array(given-role,$roles)) {
include('the-page');
} else {
include('403-page');
}
} else {
include('404-page');
}
}
然而它总是显示404-page。如何用该数组结构验证两个变量(页面和角色ID)?
谢谢, 卡洛斯
答案 0 :(得分:0)
$pages = array(
'page-one'=>range(1,9),
'page-two'=>range(1,3),
'page-three'=>range(5,9)
);
$givenpage = "page-one";
$givenrole = 2;
if(isset($pages[$givenpage])) {
if(in_array($givenrole, $pages[$givenpage])) {
include $givenpage;
}
else {
include "403-page";
}
}
else {
include "404-page";
}
答案 1 :(得分:-1)
我想我找到了解决方案。它可以像...一样解决。
if (!isset($pages[given-page])) {
include(404-page);
} else if (isset($pages[given-page]) && in_array(given-role,$pages[given-page])) {
include(given-page);
} else {
include(403-page);
}
尽管如此,如果您认为有更好的方法,请分享。
谢谢!