我一直在寻找答案,但找不到,所以这是我的案例。我有以下数组:
$pages = array(
'page-one'=>range(1,9),
'page-two'=>range(1,3),
'page-three'=>range(5,9)
);我想根据用户的角色id来验证用户对页面的访问权限,因此,假设John (角色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页。如何使用该数组结构验证两个变量(页面和角色id)?
谢谢,卡洛斯
发布于 2016-05-07 15:58:42
$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";
}发布于 2016-05-07 16:07:35
我想我找到了一个解决方案。它可以像这样解决。
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);
}然而,如果你认为有更好的方法,请分享它。
谢谢!
https://stackoverflow.com/questions/37085864
复制相似问题