2016-12-16 1 views
-1

Я пытался создать «активное» состояние в Bootstrap, давая li a class="active" всякий раз, когда он находится на указанном сайте.неожиданный 'OR' (T_LOGICAL_OR)

У меня есть этот скрипт:

<?php if (stripos($_SERVER['REQUEST_URI'],'/page1.php') !== false) OR (stripos($_SERVER['REQUEST_URI'],'/page2.php') !== false) {echo 'active';} ?> 

Он используется для выпадающего списка, который должен иметь активный класс всякий раз, когда это на любом стр.1 или page2.

Я получаю эту ошибку:

Parse error: syntax error, unexpected 'OR' (T_LOGICAL_OR) in your code on line 1

Кто-нибудь знает, что я сделал не так? Я пробовал с «OR» и «||», но никто из них не работает.

ответ

2

если заявление неправильно отформатирована

<?php if ((stripos($_SERVER['REQUEST_URI'],'/page1.php') !== false) OR (stripos($_SERVER['REQUEST_URI'],'/page2.php') !== false)) {echo 'active';} ?> 
+1

Причина этого заключается в том, что PHP будет думать, что это выполняется разбор инструкции if, когда она заканчивает первую скобку, начатую после IF. Поэтому он ожидает '{' после ')' перед 'OR' –

+0

. Итак, я забыл одну скобку, чтобы заключить скрипт? – Marcus

+1

да, вы забыли закрепить его ... 'if ((condition1) OR (condition2))' –

0

Удалите brakets до и после того, как OR, как показано ниже.

<?php if (stripos($_SERVER['REQUEST_URI'],'/page1.php') !== false OR stripos($_SERVER['REQUEST_URI'],'/page2.php') !== false) {echo 'active';} ?>

+0

Это в основном то же самое, что и другой ответ, однако ни один из вас объяснил, почему ... в отличие от моего комментария к другому ответу. –

0
<?php if ((stripos($_SERVER['REQUEST_URI'],'/page1.php') !== false) OR (stripos($_SERVER['REQUEST_URI'],'/page2.php') !== false)) echo 'active'; ?> 

This code works - I've tried it!

Отсутствие одного набора скобок и один superflous набор.

Смежные вопросы