Проблем с url и ...?

ivan_s

Registered
Може ли някой да ми каже къде греша? Значи правя едно меню и искам автоматично да се добавя class="active" там където съм в момента, например ако съм в "Начало" то да е с class="active", мисля че ме разбрахте.
Първо ще обясня аз какво правя и не знам къде греша? Направил съм така, че като се избере разбел от менюто в url-адреса се добавя ?lan=gr, като gr e името на раздела. До тук добре, с $_GET търся където срещне "?lan=gr" и добаря в това меню class="active". Проблема е, че когатао url-адреса е примерно
http://web-tourist.net/?lang=gr , всичко си работи без проблем (т.е. добавя се class="active" ) , но като вляза в някоя категория и в url-a се изписва нещо от рода на
http://web-tourist.net/?cat=1?lang=bg и тогава не ми добавя class="active" в менюто където съм. Може ли някой да ми каже къде бъркам?
 
Това аз го правя така:
PHP:
  <li <?php if (strstr($_SERVER["PHP_SELF"], "index")) {
            echo "class='open'";
        } ?>><a href="../index.php">НАЧАЛО</a></li>
 
Може би:
PHP:
<?php
if ($_GET['lang'] == "gr") {
$razdel_1 = ' class="active"';
$razdel_2 = '';
} else if ($_GET['lang'] == "fr") {
$razdel_1 = '';
$razdel_2 = ' class="active"';
} else {
$razdel_1 = '';
$razdel_2 = '';
}
echo '<div id="razdel">
<a href="#"' . $razdel_1 . '>Razdel 1</a>
<div id="menu">
<a href="#">Menu 1</a>
<a href="#">Menu 2</a>
</div>
</div>

<div id="razdel">
<a href="#"' . $razdel_2 . '>Razdel 2</a>
<div id="menu">
<a href="#">Menu 1</a>
<a href="#">Menu 2</a>
</div>
</div>';
?>
:idea:
 
Благодаря ви, момчета, но проблема си е същия, когатао url-адреса е примерно
http://web-tourist.net/?lang=gr , всичко си работи без проблем (т.е. добавя се class="active" ) , но като вляза в някоя категория и url-a е нещо от рода на
http://web-tourist.net/?cat=1?lang=bg и тогава не ми добавя class="active" в менюто където съм. Имам съмнение, че е заради това че има два пъти въпросителен ? (?cat=1?lang=bg) и май заради това не го добавя, но не знам де
 
ivan_s каза:
Благодаря ви, момчета, но проблема си е същия, когатао url-адреса е примерно
http://web-tourist.net/?lang=gr , всичко си работи без проблем (т.е. добавя се class="active" ) , но като вляза в някоя категория и url-a е нещо от рода на
http://web-tourist.net/?cat=1?lang=bg и тогава не ми добавя class="active" в менюто където съм.
Пробва ли кода който ти дадох? :shock:
 
action каза:
Кода ти е направен да работи при ?lang=gr ,а не при ?lang=bg

Поздрави :)
Защо ли е направен да работи със gr..
Прочети му първият пост!

PHP:
<?php

if ($_GET['lang'] == "bg") {

$razdel_1 = ' class="active"';

$razdel_2 = '';

} else if ($_GET['lang'] == "gr") {

$razdel_1 = '';

$razdel_2 = ' class="active"';

} else {

$razdel_1 = '';

$razdel_2 = '';

}

echo '<div id="razdel">

<a href="#"' . $razdel_1 . '>Razdel 1</a>

<div id="menu">

<a href="#">Menu 1</a>

<a href="#">Menu 2</a>

</div>

</div>



<div id="razdel">

<a href="#"' . $razdel_2 . '>Razdel 2</a>

<div id="menu">

<a href="#">Menu 1</a>

<a href="#">Menu 2</a>

</div>

</div>';

?>
 
@Ev0luti0N, както винаги си прав и това, което написа е вярно, обаче при мен нещата са малко по-различни и не знам как да го напиша. Аз имам един масив с разделите на сайта. Този масив го обхождам с foreach и менюто се добавя автоматично. Ето го и кода:

Код:
$munu["home"] = "home";
$munu["about"] = "about";
$munu["gr"] = "gr";

foreach($munu as $m => $menu_title){
      if ($_GET['lang'] == "bg") {
          $razdel = "_active";
      } 
      else if ($_GET['lang'] == "gr") {
          $razdel = "_active";
      }

      $st= "<a href='/" class='menu".$razdel."'>$menu_title</a>";
}

print $st;

С този код класът _active се добавя навсякъде във всяко едно меню. Това сигурно е заради foreach, незнам? Как да направя така, че този клас да се добавя само в home или в about или там където съм в момента?
 
Пробвах го този вариант, но когато url-a ми е така
http://web-tourist.net/&lang=bg
ми дава грешка, че не съществува такава страница.
 
Това сам си го правиш, просто го променяш нали от някъде препращаш към тази страница.
 

Back
Горе