我正在设置一个小杂志,其中有几个部分都在同一个PHP页面上工作。
如果他们不在官方部分,我希望将人们重定向回主页。所以我的代码是:
<?php
if (isset($_GET["section"])) {
$section = $_GET["section"];
} else {
header("Location: $site_url");
exit();
}
if ($section !== 'gallery' || $section !== 'magazine' || $section !== 'picks' || $section !== 'customs' || $section !== 'editor') {
header("Location: $site_url");
exit();
}
?>
问题是,当我访问localhost/results.php?section=gallery
时,我被重定向回主页,即使它在If语句中。有谁知道这是为什么?
答案 0 :(得分:1)
这将始终为真:
$section !== 'gallery' || $section !== 'magazine' || ...
因为同一个变量永远不能同时存在多个值。我怀疑你打算使用&&
:
$section !== 'gallery' && $section !== 'magazine' && ...