如果我没有帐号1或者我没有帐户2,我想被重定向。问题是,即使我有account1,它也会重定向我:
if(($_SESSION['account'] != "account1") || ($_SESSION['account'] != "account2")){
header("location:/home");
exit();
}
当我没有包含OR时,它正常工作并且当我有account1时不会重定向我:
if($_SESSION['account'] != "account1"){
header("location:/home");
exit();
}
但如果他们偶然拥有account2,我也需要它不重定向。
我做错了什么?
答案 0 :(得分:5)
逻辑错误;你可能意味着AND而不是OR。 $_SESSION['account']
在任何给定时间只能有一个值,因此它总是与account1
不同或不同于account2
。
所以代码应该是
if(($_SESSION['account'] != "account1") && ($_SESSION['account'] != "account2")){
header("location:/home");
exit();
}
答案 1 :(得分:2)
你需要
if(($_SESSION['account'] != "account1") && ($_SESSION['account'] != "account2")){
header("location:/home");
exit();
}
答案 2 :(得分:2)
你的情况有误:)假设你有一个帐号2,第一次比较是真的,你被重定向。您需要将条件与AND(&&)相结合。
答案 3 :(得分:-1)
我相信你要检查($ _SESSION ['account']!=“account2”)。你似乎在第二种情况下让它们逆转。