2011-12-23 2 views
-5

Я хочу добавить идентификатор к элементу span, если страница является либо «a», либо «b».Или оператор в PHP

Мой код до сих пор это:

<span class="subnav2" <? if(($page == 'a') || ($page == 'b')): ?> id="active"<? endif ?>> 

, но это только добавляет класс к размаху, когда «а» истинно. Что я делаю не так?

Значение $ странице:

<? 
    $path = basename($_SERVER['PHP_SELF']); 
    $page = basename($path); 
    $page = basename($path, '.php'); 
    $page = str_replace('_',' ',$page); 
    $page = str_replace('.php','',$page); 
    $page = ucfirst($page); 
?> 
+3

Он должен работать. Какая ценность '$ page'? –

+0

Интересно, если я делаю это неправильно .. это работает для меня, я тестировал с '$ page', чтобы был установлен затем на b. – Nonym

+0

Я думаю, что 'a' будет всегда 'a'. – Frank

ответ

0

попробовать это:
код:

<span class="subnav2" <? if(($page == 'a') || ($page == 'b')): echo "id=\"active\"" endif ?>> 
+0

Это дает мне синтаксическую ошибку, пытаясь понять почему. – madameFerry

+0

Решил ошибку синтаксиса: > но он по-прежнему работает только на первой странице. – madameFerry

+2

Подождите, это сработало! Спасибо Aymanadou! – madameFerry

0

Как вам may notice, код работает даже когда $page = 'b'. Проблема скрывается где-то в другом месте, где назначается $ page. В любом случае, ваш код будет выглядеть лучше так:

<span class="subnav2" <?= $page == 'a' || $page == 'b' ? 'id="active"' : '' ?>> 
+0

ok, я вижу, спасибо Alex – madameFerry

+0

Нажмите на изображение V, чтобы принять ответ, который вы хотите получить всякий раз, когда вы задаете вопрос и получаете ответ: – Alex

+0

отсутствует цитата вокруг '' id = "active" ' –

0

Try:

<?php if ($page == 'a' || $page == 'b'): ?> 
+0

Этот код работает только для 'a' ... :( – madameFerry

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