仅在域主页上向未签名用户显示特定内容

Show specific content only on the domain home page to unsigned users

我需要仅在主页上显示位于外部 php 文件中的登录表单,该文件对于站点的所有页面都是通用的,可能看起来像 www.domain.com, www.domain.com/ or www.domain.com/index.php,仅对未登录的访问者显示。

我将以下代码放在大括号之前:

if(!isset($_SESSION["session"])
and
$_SERVER['REQUEST_URI'] === '/index.php'
or
$_SERVER['REQUEST_URI'] === '/')

但是虽然它遵守 URI 规则并在二级页面上隐藏了表单,但它仍会在主页上向已登录的访问者显示登录表单。

而且我确定应该还有其他问题。

我错过了什么?

我认为您必须将 OR 条件放在括号中。

所以,它必须是:

if (
  !isset($_SESSION["session"]) and 
  ($_SERVER['REQUEST_URI'] === '/index.php' or $_SERVER['REQUEST_URI'] === '/')
) {
  // Your code
}