在有管理员和普通用户的地方重定向用户的最佳方法是什么?

问题描述 投票:-1回答:1

我有一个拥有管理员用户的CMS环境,我需要一种方法来重定向不是管理员或不拥有他们要编辑的文档的用户。看起来像这样,但是我的管理员无法以这种方式访问​​该页面,不确定原因:

$cannotpass=0;
if ($reportsusername != $usersusername) {
    $cannotpass++;
}

if ($usersadmin != $admin) {
    $cannotpass++;
}   

if ($cannotpass >= 1) {
    header("location:http://decibeldesignstudios.com/blackbirdsecurity/adminlanding");  
}
php html mysql redirect
1个回答
0
投票

您为什么需要柜台?

您可以简化如下:

if ($reportsusername != $usersusername && $usersadmin != $admin) {
    header("location:http://decibeldesignstudios.com/blackbirdsecurity/adminlanding");  
}

0
投票

代替if/if,执行if/else if。问题在于,管理员用户将不会拥有该用户的报告,因此,当您是管理员时,第一个if块将运行,并递增您的$cannotpass标志,以确保发生重定向。

if ($reportsusername != $usersusername) {
    $cannotpass++;
} else if($usersadmin != $admin) {
    $cannotpass++;
}

但是,在这里我不会评论您的代码结构或最佳实践,因为其中大部分是基于意见的。如果您需要改进代码的建议,请考虑访问CodeReview。这是讨论最佳做法之类的更合适的地方。

© www.soinside.com 2019 - 2024. All rights reserved.