Как проверить, является ли URL главной страницей
Нашел этот ответ Если URL является домашней страницей (/ или index.php), сделайте это, что было действительно полезно, однако не полностью отвечает на мой вопрос.
У меня есть индекс сайта для школы, который показывает все мои папки для разных заданий. так что моя домашняя страница на самом деле является доменом / папкой / index.html
поэтому, когда я спрашиваю, если $currentpage == /midterm/index.php || /midterm/ всегда срабатывает как true, даже если я нахожусь на /midterm/add.php
<?php
$homeurl = '/midterm/index.php';
$homepage = '/midterm';
$currentpage = $_SERVER['REQUEST_URI'];
if ($currentpage == $homeurl || $homepage) {
echo '<div class="hero"></div>';
}
2 ответа
Ваша проблема в вашем условии: if ($currentpage == $homeurl || $homepage)
всегда вернется true
потому что вы заявляете, что $currentpage
должен равняться $homeurl
ИЛИ просто $homepage
, Добавление скобок помогает продемонстрировать это:
if ( ($currentpage == $homeurl) || ($homepage) )
Так как $homepage
установлено, это truthy
и оценивает true
, Потому что только одна часть условного должна быть true
из-за вашего OR
(||
) условие возвращается true
в целом.
Чтобы решить эту проблему, вы хотите проверить, $currentpage
равно $homeurl
ИЛИ ЖЕ $currentpage
равно $homepage
:
if ($currentpage == $homeurl || $currentpage == $homepage)
Который, с добавленными скобками, оценивает:
if ( ($currentpage == $homeurl ) || ($currentpage == $homepage) )
Надеюсь это поможет!:)
Это потому, что ваш оператор if проверяет, $homepage
установлено, не если $homepage
равно $currentpage
,
if ($currentpage == $homeurl || $currentpage == $homepage) {
echo '<div class="hero"></div>';
}