Autor | Zpráva | ||
---|---|---|---|
tee.vee Profil |
#1 · Zasláno: 6. 1. 2013, 20:04:26
Dobrý den,
akočil mi tato banalita není vůbec jasná, ani trochu nechápu proč tomu tak je. K řádně přihlášeným uživatelům si ukládám do sessions identifikátor s číslem, co daný uživatel vidět může a co ne. Mám tu malou ověřovací funkci, která uživateli obsah ukáže nebo ne - například položky v menu. Ověření funguje dobře, ale vnořená funkce vrací výstup před html. Ukázka: <ul> <li class="<?php activeClass($str,'home'); ?>"><a href="/admin/home/" title="Nástěnka">Nástěnka</a></li> <?php if(isset($_SESSION["level"])){if($_SESSION["level"] == 1 && 2) { echo "<li class=\"" . activeClass($str,'settings') . "\"><a href=\"/admin/settings/\" title=\"Nastavení systému\">Nastavení systému</a></li>\n";}}?> <ul> - kde funkce activeClass vrací hodnotu active nebo nic (obarvení aktivního odkazu při otevřené stránce), $str je jen název URL stránky. function activeClass($str,$id){ if($str==$id){ echo 'active'; } } V přvním případě se stránka otevře bez problémů, a pokud je na ní kliknuto, výstup vypadá následovně: <ul> <li class="active"><a href="/admin/home/" title="Nástěnka">Nástěnka</a></li> <li class=''"><a href='/admin/config/' title='Konfigurační nástroje'>Konfigurace</a></li> </ul> Když kliknu na druhou položku (a samozřejmě mám v sessions uloženou hodnotu 1 nebo 2), html výstup vypadá následovně: <ul> <li class=""><a href="/admin/home/" title="Nástěnka">Nástěnka</a></li> active<li class=''"><a href='/admin/config/' title='Konfigurační nástroje'>Konfigurace</a></li> </ul> A můj dotaz zní proč se active zobrazuje před všemi html tagy - tj ne v podobě <a href="active">... Když jsem vyhodil ověřovací if funkci, vše se zobrazuje tak jak má. Jakmile je tam ale nějaký jiný php kód s funkcí, automaticky se výstup z funkce vypíše ještě před html kód. Přitom má být správně dle: echo "<li class=\"" . activeClass($str,'settings') . "\"><a href=\"/admin/settings/\" title=\"Nastavení systému\">Nastavení systému</a></li> vypsána hned za <li class=".... |
||
Tori Profil |
#2 · Zasláno: 6. 1. 2013, 20:11:00
tee.vee:
„funkce activeClass vrací hodnotu active“ nevrací. „vrátit“ se řekne „return“ |
||
tee.vee Profil |
#3 · Zasláno: 6. 1. 2013, 20:15:07
Prosím, napište do poštovní obálky "hlupák" a pošlete mi jí na moji adresu. :-)
Děkuji mnohokrát :) |
||
Časová prodleva: 11 let
|
0