Autor Zpráva
Artex
Profil
Dobrý večer. Jelikož se v poslední době stále víc a víc přiučuju php, tak jsem se dostal k tomu jak v menu zvýraznit položku odkazující na tu část, ve které se zrovna nacházím. Kód si myslím že by měl být v pořádku, ale i tak se aktivní položka na localhostu nijak nezvýrazní. Chyba se může objevit i v css, nebo html, ale asi nejvhodnější mi příjde psát sem. Na webu to pracuje tak jak má.

Zde je kód:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head> 
<meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />
<style>
.aktivni {
  color: #000000;
}

a {
  color: blue;
}

a:visited {

}

a:hover {
  color: orange;
}
</style>
<title>Titulek</title> 
</head>
<menu> 
  <ul>1.seznam
<?php
echo "<li><a ";
if ($url=="hodnota") {
   echo " class='aktivni' "; 
}
echo "href='menu.php?url=hodnota'>0. odkaz</a></li>\n";

echo "<li><a ";
if ($url=="hodnota1") {
   echo " class='aktivni' ";
}
echo "href='menu.php?url=hodnota1'>1. odkaz</a></li>\n";

echo "<li><a ";
if ($url=="hodnota2") {
   echo " class='aktivni' "; 
}
echo "href='menu.php?url=hodnota2'>2. odkaz</a></li>\n";

echo "<li><a ";
if ($url=="hodnota3") {
   echo " class='aktivni' ";
}
echo "href='menu.php?url=hodnota3'>3. odkaz</a></li>\n";

echo "<li><a ";
if ($url=="hodnota4") {
   echo " class='aktivni' ";
}
echo "href='menu.php?url=hodnota4'>4. odkaz</a></li>\n";

echo "<li><a ";
if ($url=="hodnota5") {
   echo " class='aktivni' ";
}
echo "href='menu.php?url=hodnota5'>5. odkaz</a></li>\n";
?>

</menu>
</body>
</html>


Popřípadě je zde živá ukázka. Ta vám ale asi nepomůže protože nahráté na stránkách to funguje, pouze v localhostu ne.
jksdf
Profil
if ($_GET[url]=="hodnota") {
   echo " class='aktivni' "; 
}
nightfish
Profil
<?php
if (isset($_GET['url'])) $url = $_GET['url']; else $url = '';
echo "<li><a ";
if ($url=="hodnota") {
   echo " class='aktivni' "; 
}
...


a ještě vysvětlení: na localhostu máš vypnutou konfigurační direktivu register_globals
Artex
Profil
Už to fachčí. Dík moc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0