FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hey! Har haft en hemsida jag gjort på min egen server men vi har nu flyttat den till klientens host, Active24 med ett linuxpaket. Funkar helt bra, förutom funktionen att menyalternativen skall bli röda (görs såklart i CSS) då man befinner sig på den filen. Menyn finns i en skild fil och inkluderas.
inc-navigation.php Kod:
<?php $page = basename($_SERVER['SCRIPT_NAME']); ?> <ul> <li><a href="sida1.php" <?php if ($page == 'sida1.php') { ?>class="active"<?php } ?>>Sida 1</a></li> <li><a href="sida2.php" <?php if ($page == 'sida1.php') { ?>class="active"<?php } ?>>Sida 2</a></li> <li><a href="sida3.php" <?php if ($page == 'sida3.php') { ?>class="active"<?php } ?>>Sida 3</a></li> </ul> Detta funkade perfekt på min server, men på Active24 tycks man strunta i min kod och länkarna förblir vita och inte röda när man befinner sig på just den och den sidan. Vad ska jag göra? Finns det någon annan kodlösning :unsure: ? |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Supermoderator
|
Har inte kollat koden närmare men skriv ut basename($_SERVER['SCRIPT_NAME']) och se efter vad du får för resultat.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Prova att byta ut
Kod:
basename($_SERVER['SCRIPT_NAME']); Kod:
basename($_SERVER[''SCRIPT_FILENAME']); Kod:
basename(__FILE__); |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
Jag böt ut <?php $page = basename($_SERVER['SCRIPT_NAME']); ?> mot <?php $page = basename($_SERVER['PHP_SELF']); ?> och detta funkar tydligen hos Active24. Hann inte prova Jonathans förslag tyvärr
![]() |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Klarade millennium-buggen
|
$_SERVER['PHP_SELF'] är deprecated, enligt PHP teamet.
Mycket osäkert. $_SERVER['SCRIPT_FILENAME'] skall användas. |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Om man tittar i responsen från phpinfo() så står det vilka variabler som finns och vad de innehåller.
|
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Supermoderator
|
Citat:
Det finns med i dokumentationen på php.net utan närmare kommentarer: Se här
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Supermoderator
|
*bump*
$_SERVER['PHP_SELF'] är väl inte föråldrat? Ytterligare en kommentar: __FILE__ kan inte användas i inkluderade funktioner eftersom den då kommer att innehålla sökvägen till den inkluderade filen.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Klarade millennium-buggen
|
tartare: Fel av mig, inte deprecated, utan mer klassad som osäker pga XSS. Ber om ursäkt.
Med tanke på datumet under (i länken) så har detta funnits med ett tag. http://www.sitepoint.com/blogs/2006/01/24/...s-or-dumb-apis/ |
||
![]() |
![]() |
Svara |
|
|