Gå til innhold

¤LØST!...Hjelp med variable og bytte class med php, (css Active button)


Anbefalte innlegg

Hei, sier det rett ut, har ikke så mye erfaring med php her.

 

Tingen er at jeg vil at "class" på menylinkene skal endres for å få såkalt "active button",

ettersom jeg har navigasjonen fast i index og bruker include for å hente de andre sidene så vet jeg ikke helt hvordan jeg skal identifisere sidene. Eller jeg har en viss ide, men får det ikke til å fungere.

 

har prøvd ut disse 2:

- http://www.alistapart.com/articles/keepingcurrent/

- active_button_with_php_and_css

 

uten å lykkes.

 

Her er include scriptet:

 

<?php
$allowed_pages = array('start', 'om_meg', 'galleri', 'sponsor', 'kontakt', 'linker'); //Godkjente sider, for å sikre at man ikke kan inkludere filer som kan skade på noe måte

$side = (!empty($_GET['side'])) ? $_GET['side'] : $allowed_pages[0]; // Bruker Get-variabelen "page", hvis den er tom går vi ut i fra at første verdi i $allowed_pages er startsiden

if(in_array($side, $allowed_pages)) {
  include($side . ".php"); // Hvis siden finnes henter vi den 
} 
else 
{
  include("404.php"); // Hvis ikke henter vi en 404-side
} 
?>

 

 

 

Og her er navigeringen som jeg prøvde meg litt på:

 

		  <div class="navigation" align="center">
	   <ul>
		 <li><a href="index.php?side=start">Start</a></li>
		 <li><a href="index.php?side=om_meg">Om meg</a></li>
		 <li><a href="index.php?side=galleri">Galleri</a></li>
		 <li><a href="index.php?side=sponsor" <?php if ("$side" == 'sponsor') { ?>class="current_page_item"<?php } ?>>Sponsor</a></li>
		 <li><a href="index.php?side=kontakt">Kontakt</a></li>
		 <li><a href="index.php?side=linker">Linker</a></li>
		</ul>
	   <div class="clearer"> </div>
	  </div> 

 

 

Hva er det jeg gjør galt her? noen som kan hjelpe å rette?

Endret av krl
Lenke til kommentar
Videoannonse
Annonse
<div class="navigation" align="center">
<ul>
<li><a href="index.php?side=start">Start</a></li>
<li><a href="index.php?side=om_meg">Om meg</a></li>
<li><a href="index.php?side=galleri">Galleri</a></li>
<li><a href="index.php?side=sponsor" <?php if ($side == 'sponsor') { ?>class="current_page_item"<?php } ?>>Sponsor</a></li>
<li><a href="index.php?side=kontakt">Kontakt</a></li>
<li><a href="index.php?side=linker">Linker</a></li>
</ul>
<div class="clearer"> </div>
</div> 

Lenke til kommentar

ah glemte å ta vekk de...

 

Men det fungerer fortsatt ikke... noen som har no tips?

 

Lim inn:

 

<?php var_dump($side); ?>

 

i toppen i filen der du har menyen. Hva printer det ut?

index der jeg har menyen gir ut dette:

NULL

 

hvis jeg legger den inn i de andre sidene får jeg:

start=

string(5) "start" 

om_meg=

string(6) "om_meg" 

galleri=

string(7) "galleri" 

sponsor=

string(7) "sponsor" 

kontakt=

string(7) "kontakt" 

linker=

string(6) "linker" 

Lenke til kommentar

ah glemte å ta vekk de...

 

Men det fungerer fortsatt ikke... noen som har no tips?

 

Lim inn:

 

<?php var_dump($side); ?>

 

i toppen i filen der du har menyen. Hva printer det ut?

index der jeg har menyen gir ut dette:

 

Du bør gjøre om include-systemet og index-filen din.

Få ta en titt på index.php da :)

Endret av Thomas.
Lenke til kommentar

ah glemte å ta vekk de...

 

Men det fungerer fortsatt ikke... noen som har no tips?

 

Lim inn:

 

<?php var_dump($side); ?>

 

i toppen i filen der du har menyen. Hva printer det ut?

index der jeg har menyen gir ut dette:

 

Du bør gjøre om include-systemet og index-filen din.

Få ta en titt på index.php da :)

 

Index.php i winrar arkiv:

Fjernet

 

 

full kilde:

Fjernet
Endret av krl
Lenke til kommentar

Er ikke rart det der ikke fungerer :p

Du har menyen før include-scriptet ditt. Altså, $side blir ikke angitt før den har prossert includescriptet ditt. Derfor vil $side alltid være NULL i menyen din. Så du kan ikke sjekke om du er på den bestemte siden.

 

 

ah så det er derfor ja.

kan jeg da dele opp scriptet? feks ha:

 

$allowed_pages = array('start', 'om_meg', 'galleri', 'sponsor', 'kontakt', 'linker'); 

$side = (!empty($_GET['side'])) ? $_GET['side'] : $allowed_pages[0]; 

 

helt i topp før html?

og så ha resten som det er?

Lenke til kommentar

Er ikke rart det der ikke fungerer :p

Du har menyen før include-scriptet ditt. Altså, $side blir ikke angitt før den har prossert includescriptet ditt. Derfor vil $side alltid være NULL i menyen din. Så du kan ikke sjekke om du er på den bestemte siden.

 

 

ah så det er derfor ja.

kan jeg da dele opp scriptet? feks ha:

 

helt i topp før html?

og så ha resten som det er?

 

Glem det, fant ut at det gikk.

Takk skal du ha :)

fant også grunnen til at jeg ikke fikk endret riktig class.

 

endret fra:

<li><a href="index.php?side=start" <?php if($side == 'start') 	 { ?> class="current_page_item"<?php } ?>>Start</a></li>

til:

<li<?php if($side == 'start') 	 { ?> class="current_page_item"<?php } ?>><a href="index.php?side=start" 	>Start</a></li>

 

 

Sist.. Takk til alle som hjalp til :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...