Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Изменение значения class="" посредством php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
valkiriy
Отправлено: 13 Апреля, 2013 - 17:05:01
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)

[+]


Здравствуйте PHP.SU,

Возникла проблема объяснение которой я увы найти не смог...
суть в том что изменение содержимого страницы вызывается с помощью профессиональной вставки основанной на GET и Include:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. if(isset($_GET['page']) && !empty($_GET['page']))
  3. {
  4.         if(file_exists("./page/".$_GET['page'].".php"))
  5.         {
  6.                 include("./page/".$_GET['page'].".php");
  7.         }
  8.         else
  9.         {
  10.                 include("./page/home.php");
  11.         }
  12. }
  13. else
  14. {
  15.  include("./page/home.php");
  16. }
  17. ?>

работает отлично, но хотелось украсить меню:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <li class="menu-left <?PHP if($_GET['page'] == 'home'){echo 'active';} ?>"><a href="index.php?page=home">Главная</a></li>
  2. <li class="line"><img src="img/navbar_line.png"/></li>
  3. <li class="menu <?PHP if($_GET['page'] == 'register'){echo 'active';} ?>"><a href="index.php?page=register">Регистрация</a></li>
  4. <li class="line"><img src="img/navbar_line.png"/></li>

суть в том что при нажатии ссылки она должна менять свой вид в режим актив (выделятся из общего вида), но подсвечивается только первая ссылка... При переходе по второй, первая гаснет, а вторая увы не загорается, но скрипт работает как надо...
css уже несколько раз проверил...
еще один момент если записываю актив без PHP то все работает, но постоянно (оно и понятно)

Благодарю за помощь.

(Отредактировано автором: 13 Апреля, 2013 - 17:10:53)

 
 Top
_Dark_
Отправлено: 13 Апреля, 2013 - 17:10:46
Post Id


Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Окт. 2011  


Помог: 5 раз(а)

[+]


valkiriy пишет:
суть в том что при нажатии ссылки она должна менять свой вид в режим актив (выделятся из общего вида), но подсвечивается только первая ссылка...

Это не через PHP, а через CSS должно быть реализовано.

valkiriy пишет:
При переходе по второй, первая гаснет, а вторая увы не загорается, но скрипт работает как надо...

Ну значит условие
valkiriy пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. if($_GET['page'] == 'register')

ложно, смотрите значения переменных.
 
 Top
valkiriy
Отправлено: 13 Апреля, 2013 - 17:13:39
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)

[+]


в том то и дело, что css отказывается выполнять эту работу и переменные увы верны ведь они вызываются ссылкой в которой работает скрипт:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <a href="index.php?page=register">Регистрация</a>
 
 Top
_Dark_
Отправлено: 13 Апреля, 2013 - 17:25:02
Post Id


Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Окт. 2011  


Помог: 5 раз(а)

[+]


Если у вас текущая страница — register, соответственно,
то я просто понятия не имею, почему
CODE (htmlphp):
скопировать код в буфер обмена
  1. <li class="menu <?PHP if($_GET['page'] == 'register'){echo 'active';} ?>"><a href="index.php?page=register">Регистрация</a></li>

не работает.

Вы уверены, что действительно не работает?
Вы проверьте, класс действительно не добавляется?
 
 Top
valkiriy
Отправлено: 13 Апреля, 2013 - 17:29:22
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)

[+]


Просматриваю код страницы) класс добавляется) первая ссылка работает отлично, а остальные (вызванные хоть до нее, хоть после нее) увы визуально не изменяются (но класс добавляется)
Говорю же - мистика)
 
 Top
_Dark_
Отправлено: 13 Апреля, 2013 - 17:37:05
Post Id


Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Окт. 2011  


Помог: 5 раз(а)

[+]


valkiriy пишет:
Просматриваю код страницы) класс добавляется) первая ссылка работает отлично, а остальные (вызванные хоть до нее, хоть после нее) увы визуально не изменяются (но класс добавляется)

Остальные ссылки отличаются от первой.

У первой класс menu-left, у остальных просто menu.
(Добавление)
И вообще, вместо
PHP:
скопировать код в буфер обмена
  1. <?PHP if($_GET['page'] == 'home'){echo 'active';} ?>

сделайте так:

PHP:
скопировать код в буфер обмена
  1. <?= ($_GET['page'] == 'home') ? 'active' : '' ?>

Как-то покрасивей.

И да, если page не будет передана — будет notice.
 
 Top
valkiriy
Отправлено: 13 Апреля, 2013 - 17:45:58
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)

[+]


_Dark_ пишет:
У первой класс menu-left, у остальных просто menu.

да я знаю) просто выделение разное у крайних и средних ссылок
_Dark_ пишет:
сделайте так:

попробую отпишусь)
(Добавление)
Ой сорри) эт я невнимательный - FileZilla оборвала связь и не передала 2 картинки на актив Хм Благодарю за отзывчивость и прошу не ругать за невнимательность Радость
 
 Top
DelphinPRO
Отправлено: 13 Апреля, 2013 - 18:02:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




valkiriy пишет:
с помощью профессиональной вставки

профессионально, спору нет Улыбка

valkiriy пишет:
визуально не изменяются (но класс добавляется)

Если класс добавляется правильно, то следует смотреть инспектором кода в браузере почему не применяется стиль. Тут если нужна помощь, то давайте ссылку на страницу, чтобы нам можно было посмотреть ее браузером "вживую"
(Добавление)
тьфу, блин. долго ж я писал...


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
valkiriy
Отправлено: 13 Апреля, 2013 - 18:08:48
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)

[+]


DelphinPRO пишет:
профессионально

увы в литературе она так называется) Ладно всем спасибо)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB