webForumDet fria alternativet

fungerar inte med ./ för index

PHP

6 svar · 436 visningar · startad av tanten

Medlem sedan nov. 20051 596 inlägg
Frågan#1
$current = basename($_SERVER['PHP_SELF']);
$links = array (
  './' => 'hem',

Jag har en liten bild som ska visas i menyn för vilken länk man är på men det fungerar inte om jag har det som ovan. Måste jag ha index.php, det fungerar då, eller finns det något annat sätt?

Medlem sedan feb. 2007278 inlägg
#2

Vad blir ditt resultat? Det beror ju på var i din hierarki du befinner dig. ./ är ju den katalog som du just nu står i. Är det den du vill ha?

Medlem sedan nov. 20051 596 inlägg
#3

Resultatet är att jag kommer till rätt sida, så det är inte fel på det, men visar inte bilden i menyn.
Borde kanske visa resten av koden

foreach ($links as $link => $text) {
   $id = $link == $current ? ' id="current"' : '';
   echo "<li><a$id href=\"$link\">$text</a></li>\n"; 
och i css
#menu #current{
color:#fff;
background:url(../bilder/star.gif) #800080 no-repeat left;}

Bilden visas på de andra länkarna när man tryckt på dem, så det är bara index-länken som bilden inte visas på.

Medlem sedan feb. 2007278 inlägg
#4

$current är ju namnet på filen enligt $_SERVER['PHP_SELF'].

Den kan aldrig bli ./

Lägg till så det blir:

 $current = basename($_SERVER['PHP_SELF']); 
if ( strpos($current,'index') !== false ) {
    $current = './';
}
Medlem sedan nov. 20051 596 inlägg
#5

Tack så jättemycket, fungerar bra nu...

Medlem sedan feb. 2007278 inlägg
#6

tanten skrev:

Tack så jättemycket, fungerar bra nu...

Markera gärna mitt inlägg som rätt svar på frågan!

Medlem sedan nov. 20051 596 inlägg
#7

Ledsen... tror det är första gången jag missat att markera en tråd som löst... men det är ingen ursäkt förstås :r

1383 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
1248 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
1245 ms — ändringar (db)