我的网址我有一个名为uid的参数
在我的SQL中我有
Select * from users Where uid = {$_GET['uid']}
现在我有了我的while循环
while (($row = mysqli_fetch_assoc($result)) != false) {
$uid = $row['uid'];
}
到目前为止,每件事情都很好。我想要的是,如果数据库中的uid不等于参数重定向中的$ _GET。
if ($uid == $_GET['uid']) {
return true;
} else {
redirect(ROOT_URI);
}
我想阻止的是修改网址中的uid。如果uid不存在,它将重定向。
答案 0 :(得分:1)
使用它。我已经包含了一些评论作为对我正在做的事情的解释。
$x = 0; //checker
while (($row = mysqli_fetch_assoc($result)) != false) {
if($uid == $row['uid']){
$x = 1; //logic is if there is a match, $x will become 1, else it will stay at 0 value
}
}
//now check the value of $x
if ($x == 1){
//there is a match
return true;
}
else{
//there is no match
redirect(ROOT_URI);
}
答案 1 :(得分:1)
只需你可以这样做
$rowcount=mysqli_num_rows($result);
if($rowcount != 0)
{
return true;
}
else
{
redirect(ROOT_URI);
}
因为如果uid在表中,mysqli_num_rows不会返回0
答案 2 :(得分:0)
要在PHP中重定向,您可以使用fpe_old_flags = FOR_SET_FPE(0)
功能:
header()
答案 3 :(得分:0)
您的SQL查询错误。试试这个:
Select uid from users Where uid = {$_GET['soldier']}