php условие - if (мы на главной) {} else {}

12
[Удален]
6380

Привет всем, у меня джумла, нужно сделать правильное условие, что если мы на главной, выводить одно, если нет, другое.

Вот мое условие:

if (empty($_SERVER['QUERY_STRING'])) {

echo "<ul><li class='menu-item1 active last-item'><a href='/' class='menu-item1 active last-item' id='menu5' title='Главная'><span class='menu-title'>Главная</span></a></li>";

} else {

echo "<ul><li class='menu-item1'><a href='/' class='menu-item1' id='menu5' title='Главная'><span class='menu-title'>Главная</span></a></li>"; }

Оно работало до того, как я не включил чпу на сайте, т.е. после включения, меню Главная подсвечивается везде, а нужно тока на "/"

Надеюсь на вашу помощь!

Остальные меню все подсвечиваются, когда активны. Но я не могу понять их условий. Может тоже кто подскажет?

AlikZP
На сайте с 22.11.2009
Offline
107
#1

$_SERVER['QUERY_STRING'] - это то, что после знака ?

Например, в случае index.php?page=10&start=8 $_SERVER['QUERY_STRING'] будет page=10&start=8

Попробуйте $_SERVER['REQUEST_URI'] - на главной он равен / или index.php

Website CMS: быстрая, удобная, недорогая! Вечная лицензия за 45$ (/ru/forum/524503) Яся - быстрый поиск фото для товаров. OpenCart/ocStore. Дополнение. (/ru/forum/665287) Грамотная верстка ваших макетов (/ru/forum/comment/8853216)
[Удален]
#2

не получается((

Robin_Bad
На сайте с 24.12.2007
Offline
85
#3

SergeyBodrov, покажите вывод такой строки на главной странице:

var_dump(!empty($_SERVER['HTTP_X_URI']) ? $_SERVER['HTTP_X_URI'] : $_SERVER['REQUEST_URI']);

[Удален]
#4
Robin_Bad:
SergeyBodrov, покажите вывод такой строки на главной странице:
var_dump(!empty($_SERVER['HTTP_X_URI']) ? $_SERVER['HTTP_X_URI'] : $_SERVER['REQUEST_URI']);

ой вы знаете, я в этом вобще не понимаю, какой вывод показать? я плохо в программировании секу, тот код мне чувак один подсказал

Robin_Bad
На сайте с 24.12.2007
Offline
85
#5

SergeyBodrov, в файле index.php в самом начале (после <?php) вставьте строку:

var_dump(!empty($_SERVER['HTTP_X_URI']) ? $_SERVER['HTTP_X_URI'] : $_SERVER['REQUEST_URI']);die;

и скопируйте вывод прямо из экрана браузера сюда в форум

AlExTeam
На сайте с 12.08.2010
Offline
34
#6

If(getEnv(REQUEST_URI)=='/' or getEnv(REQUEST_URI)=='/index.php'){}else{}

можно на всякий случай приплюсовать getEnv(REQUEST_URI)==''

Internet killed the video star
Robin_Bad
На сайте с 24.12.2007
Offline
85
#7

AlExTeam, про nginx когда-нибудь слышали? :)

InoHacker
На сайте с 18.10.2009
Offline
75
#8
SergeyBodrov:
Привет всем, у меня джумла, нужно сделать правильное условие, что если мы на главной, выводить одно, если нет, другое.
Вот мое условие:
if (empty($_SERVER['QUERY_STRING'])) {
echo "<ul><li class='menu-item1 active last-item'><a href='/' class='menu-item1 active last-item' id='menu5' title='Главная'><span class='menu-title'>Главная</span></a></li>";
} else {
echo "<ul><li class='menu-item1'><a href='/' class='menu-item1' id='menu5' title='Главная'><span class='menu-title'>Главная</span></a></li>"; }
Оно работало до того, как я не включил чпу на сайте, т.е. после включения, меню Главная подсвечивается везде, а нужно тока на "/"
Надеюсь на вашу помощь!
Остальные меню все подсвечиваются, когда активны. Но я не могу понять их условий. Может тоже кто подскажет?

Дык и естественно будет подсвечиваться везде. Т.к при включении ЧПУ $_SERVER['QUERY_STRING'] у Вас будет всегда пустой. Ибо ЧПУ как раз и заключается в переводе адресов вида сайт.ру?index.php?blablabla=1&blablabla2=2 (болдом выделено как раз $_SERVER['QUERY_STRING']) в вид сайт.ру/раздел1/нововость2.

Попробуйте так:



if ($_SERVER['PHP_SELF'] == "" || $_SERVER['PHP_SELF'] == "/" || $_SERVER['PHP_SELF'] == "/index.php" ) {
echo "<ul><li class='menu-item1 active last-item'><a href='/' class='menu-item1 active last-item' id='menu5' title='Главная'><span class='menu-title'>Главная</span></a></li>";
} else {
echo "<ul><li class='menu-item1'><a href='/' class='menu-item1' id='menu5' title='Главная'><span class='menu-title'>Главная</span></a></li>"; }
Магазин аккаунтов с балансом Litres,DNS,Ozon,Rotapost и еще 50+ других сервисов тут - vk.cc/7QK0Sk
LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#9

Мде...


if (($_SERVER['REQUEST_URI']=='/')||($_SERVER['REQUEST_URI']=='')||($_SERVER['REQUEST_URI']=='/index.php')) {
echo "<ul><li class='menu-item1 active last-item'><a href='/' class='menu-item1 active last-item' id='menu5' title='Главная'><span class='menu-title'>Главная</span></a></li>";
} else {
echo "<ul><li class='menu-item1'><a href='/' class='menu-item1' id='menu5' title='Главная'><span class='menu-title'>Главная</span></a></li>"; }
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
AlExTeam
На сайте с 12.08.2010
Offline
34
#10
Robin_Bad:
AlExTeam, про nginx когда-нибудь слышали? :)

какая разница какой сервер?

Речь вроде про пхп или не?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий