Autor Zpráva
one
Profil
Zdravim, nejspíše se to tu už několikrát řešilo, dokonce jsem tu i našel pár vláken týkající se tohoto tématu, jenže ani jedno se mi nedaří rozchodit.

Potřebuji nastylovat zvlášť odkaz, na kterém se právě nacházím, kód mám zatím takto:

PHP
if($_SERVER["PHP_SELF"] == 'index.php') {
$item = "active";
}else{
$item = "no-active";
}

HTML
echo "
<a href='index.php' title=''><span class='$item'>Úvod</span></a>
...

CSS
.active {
color : red;
text-decoration : none;
font-weight : bold;
}

.no-active {
color : blue;
text-decoration : underline;
font-weight : bold;
}

samozřejmě pojmenování barev v css je jen pro příklad, jinak používám kódy barev (#c0c0c0, ...).

Nefunkčnost se projevuje tak, že když se nacházím na stránce index.php, tak je odkaz stále modrý, nikoliv červený, myslím si, že to bude jen nějaká maličkost, která bude pro "zkušenější" uživatelé maličkost vyřešit...

díky předem za pomoc
Alphard
Profil
tak zkontroluj html zdrojový kód, zjistíš, jestli je chyba na straně PHP nebo HTML/CSS
one
Profil
Alphard
No, na stráně php, jelikož odkaz na index vypadá takto:
<a href='index.php' title=''><span class='no-active'>Úvod</span></a>
jenže nevím proč, zkoušel jsem

if(isset($_GET['index'])) {
$item = "active";
}else{
$item = "no-active";
}

jenže výsledek stejný...přitom na tom kódu nevidím nic špatného
Casero
Profil
one
A co ti vrací proměná echo $_SERVER["PHP_SELF"] ; ???
one
Profil
/one/index.php

btw. já to mám totiž na localu, jenže jak mám potom zadat tu cestu? zkusil jsem ji tam jak mi to vrátilo $_SERVER["PHP_SELF"]; jenže nejde, jak tedy má ta cesta vypadat? díkes
Casero
Profil
one
To se pak nemůžeš divit, ne?
if($_SERVER["PHP_SELF"] == 'index.php') = if ("/one/index.php"== 'index.php')

A když to kontroluješ teda:
if($_SERVER["PHP_SELF"] == '/one/index.php') ?
one
Profil
Casero
ja vim, ale proč mi tedy nefunguje:
if(isset($_GET['index'])) {
...

vždyť to kontroluje jestli jen v odkazu index, což je, ne? přece se tam nemusí dávat to /one/
Casero
Profil
one
vždyť to kontroluje jestli jen v odkazu index, což je, ne? přece se tam nemusí dávat to /one/

Ne, if(isset($_GET['index'])) { zjišťuje, zda je definována (poslána v URL) proměná "index"...což není.
one
Profil
aha, no tak díky za objasnení a za pomoc, vše už funguje, jak má ;-)

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: