elseif无法处理标头位置


elseif not working with header location

当用户在usercp.phpprofile.php上时,我试图让userclass等于home,但我似乎无法让以下其他功能发挥作用:

if ($_SERVER['REQUEST_URI'] === '/usercp.php') {
   $userclass = "home";
} elseif ($_SERVER['REQUEST_URI'] === '/profile.php') {
   $userclass = "home";
} else {
   $userclass = "norm";
}

我建议您尝试:echo $_SERVER['REQUEST_URI'];来查看变量的值。

不要忘记REQUEST_URI返回相对于服务器根目录的路径。因此,如果您的php文件位于名为"test"的目录中,REQUEST_URI返回的字符串将是"/test/thefile.php"

试试这样的东西?

if (strpos($_SERVER['REQUEST_URI'], 'usercp.php')) {
   $userclass = "home";
} elseif (strpos($_SERVER['REQUEST_URI'], 'profile.php')) {
   $userclass = "home";
}

或者回复您的$_SERVER['REQUEST_URI'],并像Rizier123评论一样进行比较。