Autor Zpráva
JanSvabikCZ
Profil
Ahoj, mám další dotaz ohledně PHP, jelikož jsem to nikde nenašel...

Mám přibližně následující kód:

<?php
$promenna = "<ul><li><a href=\"http://www.example.com/sluzby/blablabla/neconeconeco/\"<?php if(\$_SERVER['PHP_SELF'] == \"/sluzby/blablabla/neconeconeco/index.php\") {echo \" class=\\\"current\\\"\";} ?>>Neconeconeco</a>
      </li>
    </ul>";
?>

a zvýraznil jsem ono ?>, které ukončuje skript ještě předtím, než vlastně má být ukončen. Nezná někdo jiný způsob nebo nemáte jiný návrh jak tento problém vyřešit?

Díky
Fisir
Profil
Reaguji na JanSvabikCZa [#1]:
Uprav to na ?".">.
JanSvabikCZ
Profil
Anóóó. Děkuji moc :-)
Jan Tvrdík
Profil
JanSvabikCZ:
Mít PHP kód umístěný v řetězci je většinou chyba. Hledej jiné, lepší řešení. Čeho se tím vlastně snažíš dosáhnout?
Radek9
Profil
JanSvabikCZ:
Ne, neukončuje. Maximálně ti to špatně zvýrazňuje editor. Tipuji správně PSPad? :-)
JanSvabikCZ
Profil
Ano, PSPad, ale ukončuje se to, protože mi to pak už ten "subskript" vypíše jako text na stránku
Radek9
Profil
JanSvabikCZ:
To vypíše, ale proto, že se pravděpodobně předtím neprovede. Ne, že by se to ukončilo.
JanSvabikCZ
Profil
A v tom případě - jaktože se neprovede? PHP běžně PHP v PHP nebere? :-/ To by bylo špatné...
Fisir
Profil
Reaguji na JanSvabikCZa [#8]:
Ne. Popiš, čeho chceš dosáhnout a najdeme jiné řešení. A skript se použitím ?> v řetězci neukončí, to ti jen špatně zvýraznil PSPad.
Radek9
Profil
JanSvabikCZ:
Tohle ukládáš do nějakého php souboru, nebo to hned vypisuješ? Jestli druhá možnost, tak na to jdeš špatně. Najdi si spojování stringů.
JanSvabikCZ
Profil
Už mi to jede, odstranil jsem to první ukončení, nechal jsem tam z toho jen ten otazník - .....;} ?".">........ To označené jsem tedy smazal - ale to zase nedává smysl, jaktože se to vykonalo :D


Znám spojování stringů - to je pro mě základ :-)
Radek9
Profil
JanSvabikCZ:
ale to zase nedává smysl, jaktože se to vykonalo
Nevykonalo, podívej se do kódu, co ti to vypsalo.

Znám spojování stringů - to je pro mě základ :-)
Tak ho normálně použij a nesnaž se cpát PHP kód do stringu. Pokud projde ta podmínka, tak k tomu stringu přidej tu classu.
JanSvabikCZ
Profil
Neumím pracovat s třídami - to jen v CSS. Ano, pravda, nevykonalo...
PecanCZ
Profil
Spíš bych to udělal takto:

<?php
$promenna = '<ul><li><a href=\"http://www.example.com/sluzby/blablabla/neconeconeco/\"'; 
$promenna .= ($_SERVER['PHP_SELF'] == '/sluzby/blablabla/neconeconeco/index.php') ? ' class="current"' : ''; 
$promenna .= '>Neconeconeco</a></li></ul>';
?>
JanSvabikCZ
Profil
PecanCZ:

Vyzkouším...


Funguje to přesně tak, jak jsem si představoval.

Ještě jednou všem děkuju :-)

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: