我遇到的问题非常简单,我不明白为什么。
需要一双新鲜的眼睛。
在我的配置文件中,我提取用户个人资料信息,如果他们的个人资料不完整且他们不在:家庭,设置,退出,个人资料错误页面,那么他们将被重定向。
基本上我是强制性的,或者他们无法导航到系统的其他区域。
$link = $_SERVER["REQUEST_URI"];
if($counter<9 && ($link !="home" OR $link !="logout" OR $link !="profileError" OR $link !="profileSettings")){
header('Location: profileError');
kill();
}
我已经测试了我的计数器,它似乎工作正常。
任何帮助都会得到启发!
答案 0 :(得分:0)
setup:static-content:deploy
包含来自网址的文件的完整路径名,例如$_SERVER['REQUEST_URI']
或/home.php
。所以你的/folder/logout.php
测试都没有用。尝试:
$link
只获取没有$link = basename($_SERVER['REQUEST_URI'], '.php');
扩展名的文件名。
答案 1 :(得分:0)
您首先尝试debug
您的代码echo $link
和$counter
两者或添加else
以查看错误
$link = $_SERVER["REQUEST_URI"];
//echo $link; echo $counter;
if($counter<9 && ($link !="home" OR $link !="logout" OR $link !="profileError" OR $link !="profileSettings")){
header('Location: profileError');
kill();
}
else{
echo "there is some error"."</br>";
echo $link; echo $counter;
}
答案 2 :(得分:0)
评估您的情况并测试标题位置,如果标题位置不起作用,请检查您的情况是否有错误。
答案 3 :(得分:0)
管理以使其正常工作。
$link = basename($_SERVER['REQUEST_URI'], '.php');
if($counter <9){
if($link !="home" OR $link !="logout" OR $link !="profileError" OR $link !="profileSettings"){
header('Location: profileError');
kill();
}
}
不确定为什么拆分IF语句会有所帮助,但至少它有效。
答案 4 :(得分:0)
您应该使用&&
条件运算符而不是||
(OR)。
翻译:如果页面没有被调用X和Y那么......否则,如果页面没有被调用X或Y那么...它将永远被调用。
$link = basename($_SERVER['REQUEST_URI'], '.php');
if($counter <9){
if($link !="home" && $link !="logout" && $link !="profileError" && $link !="profileSettings"){
header('Location: profileError');
kill();
}
}