PHP IF / OR不工作

时间:2016-11-22 20:02:16

标签: php if-statement

我正在设置一个小杂志,其中有几个部分都在同一个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语句中。有谁知道这是为什么?

1 个答案:

答案 0 :(得分:1)

这将始终为真:

$section !== 'gallery' || $section !== 'magazine' || ...

因为同一个变量永远不能同时存在多个值。我怀疑你打算使用&&

$section !== 'gallery' && $section !== 'magazine' && ...