因此,在我的网站上,我有一个员工休息室,但似乎每个人都可以看到它,无论您是会员还是现在。
Header.inc.php:
$userinfo = mysql_fetch_array(mysql_query("SELECT * FROM members WHERE username='$username'"));
$rank = $userinfo[rank];
$rank1 = $userinfo[rank1];
$rank2 = $userinfo[rank2];
$rank3 = $userinfo[rank3];
$rank4 = $userinfo[rank4];
if (!$checkrank) { $checkrank = 0; }
if (!$rank) { $rank = 0; }
if (!$rank == ' ') { $rank = 0; }
if ($rank < $checkrank)
{
header("Location: $baseurl/index.php?error=You+can+not+view+this+page.");
}
if ($rank >= 30)
{
$admin = "<a href=\"$baseurl/staff/admin.php\">Admin</a>";
}
排名是5-30排名越高,员工休息室成员可以看到的越多,但是无论人们的排名是什么,每个人都可以看到页面(但管理区域,这是除了管理区域以外唯一没有人看到的东西排名30人)
在我的每个页面的顶部(banners.php:)
$checkrank = 5;
if ($rank <= 0)
{
header("Location: $baseurl/index.php?article=$article&error=Only+SketchedNeo+staff+can+see+this.");
}
include ($_SERVER['DOCUMENT_ROOT'].'/staff/header.inc.php');
一位朋友和我昨晚在这里坐了好几个小时,将$ checkrank改为20和if $ rank 18,然后在数据库中将她的排名降至15,但她仍会看到所有页面。
我的数据库结构是
id int(11)
username varchar(200) latin1_swedish_ci
password varchar(216) latin1_swedish_ci
security varchar(200) latin1_swedish_ci
email varchar(216) latin1_swedish_ci
ip varchar(200) latin1_swedish_ci
rank varchar(216) latin1_swedish_ci
name varchar(30) latin1_swedish_ci
age varchar(40) latin1_swedish_ci
gender varchar(40) latin1_swedish_ci
location varchar(40) latin1_swedish_ci
helpfaerie int(11)
profile text latin1_swedish_ci
about text latin1_swedish_ci
tasks text latin1_swedish_ci
joined varchar(216) latin1_swedish_ci
laston int(200)
icedmutereason text latin1_swedish_ci
icedmutedetails text latin1_swedish_ci
icedmuteby varchar(200) latin1_swedish_ci
icedmutedate int(200)
posts int(11)
signature varchar(216) latin1_swedish_ci
avatar varchar(216) latin1_swedish_ci
neohtml text latin1_swedish_ci
siggy text latin1_swedish_ci
verify int(11)
changedpass int(1)
我还在学习PHP,所以请光临我。
我怎样才能这样做,只有排名最低的会员才能看到网页? 我需要它,例如排名为17+的成员可以看到此页面,因此排名为16和更低的成员将被重定向回主页。
我找到了ACL(访问控制列表)的教程
答案 0 :(得分:1)
发送重定向标头后,您需要阻止任何页面输出。
header("Location: $baseurl/index.php");
die();
如果您没有停止执行脚本,那么重定向将永远不会发生。