Rupal Skrevet 18. august 2006 Del Skrevet 18. august 2006 (endret) Litt vanskelig å konstruerere en veldig forklarende tittel, men her er problemet litt bedre forklart: Har en php-side der jeg inkluderer en "meny.php". Hver av linkene under meny, har submenyer slik at dersom noen trykker på "om meg", så skal en submenu tilhørende "om meg" inkluderes. Koden ser slik ut: $submenu=$_GET["subid"]; <a href="index.php?id=ommeg&subid=ommegmeny">Nyheter</a> <?php if($submenu=="ommegmeny"){ $link= $submenu.".php"; include($link); } ?> Dette her har jeg gjort for alle punktene under meny. Alt funker helt fint, eneste problemet er at jeg vil ha undermenyen gjemt dersom man trykker på den samme hovedlinken om igjen, og evt vise submenyen dersom noen trykker en gang til.Dere skjønner bildet. Er det noen som har gode ideer på hvordan dette kan løses enkelt? Jeg er relativ ny i php-programmering, so go easy on me Endret 18. august 2006 av LBoN Lenke til kommentar
Martin A. Skrevet 18. august 2006 Del Skrevet 18. august 2006 Javascript, kanskje. Eneste jeg ellers kan tenke meg er at visning av submenyen baseres på en verdi. Hvis $i er 0, vises ikke menyen, er den 1 vises den. Trykker man på menyen igjen, endres den til 0, og menyen vises ikke. Prøvde å tenke ut noe lurt, men er ikke kreativ nok. Lenke til kommentar
Rupal Skrevet 18. august 2006 Forfatter Del Skrevet 18. august 2006 Ja prøvde meg med 0 og 1, før jeg lagde tråden her, men fikk ikke det til jeg heller. Men så er jeg ikke så kreativ(les: smart ) når det kommer til slikt. Noen som kan tilby mer hjelp? Lenke til kommentar
gozzer Skrevet 19. august 2006 Del Skrevet 19. august 2006 Hva med denne? $mainmenu = $_GET['id'] $submenu = $_GET['subid']; If ($mainmenu == 'ommeg' && $submenu == 'ommegmeny') { echo '<a href="index.php?id=ommeg">Nyheter</a>'; include($submenu.'.php'); } elseif ($mainmenu == 'ommeg' && !isset($submenu)) { echo '<a href="index.php?id=ommeg&subid=ommegmeny">Nyheter</a>'; } Vet ikke hent om jeg skjønte situasjonen din korrekt, men det jeg prøvde på her var å inkludere en link som tar deg til index.php?id=ommeg&subid=ommegmeny hvis menyen ikke er ekspandert, og som tar deg tilbake til index.php?id=ommeg hvis den er ekspandert. Lenke til kommentar
Rupal Skrevet 19. august 2006 Forfatter Del Skrevet 19. august 2006 Hm.. den koden ser ikke ut tilå løse problemet. Vet ikke helt hva isset funksjonen gjør, men menyen blir ikke ekspandert og minimert med denne koden Men takk for at du prøvde! Noen andre som har forslag? uff.. Lenke til kommentar
Rupal Skrevet 19. august 2006 Forfatter Del Skrevet 19. august 2006 (endret) Prøvde igjen, nå funka det bedre med koden din gozzer! Noen småfeil, men tror det er koden min som må fikses.. Skal komme med tilbakemeldinger på om alt går smertefritt.. Tusen takk, du er en knupp Endret 19. august 2006 av LBoN Lenke til kommentar
Rupal Skrevet 19. august 2006 Forfatter Del Skrevet 19. august 2006 jeg har et lite problem her med koden du foreslo gozzer.. Jeg ahr jo flere linker under meny, og alle disse har igjen submeny... Når jeg trykker på f.eks "om meg" så dukker submenyen opp, men da forsvinner alle de andre linkene... Koden ser sånn ut: <?php $submenu = $_GET['subid']; if ($mainmenu == 'ommeg' && $submenu == 'ommegmeny') { echo '<a href="index.php?id=ommeg">Nyheter</a>'; include($submenu.'.php'); } elseif ($mainmenu == 'ommeg' && !isset($submenu)) { echo '<a href="index.php?id=ommeg&subid=ommegmeny">Nyheter</a>'; } ?> <?php if ($mainmenu == 'referanser' && $submenu == 'referansemeny') { echo '<a href="index.php?id=referanser">Referanser</a>'; include($submenu.'.php'); } elseif ($mainmenu == 'referanser' && !isset($submenu)) { echo '<a href="index.php?id=referanser&subid=referansemeny">Referanser</a>'; } ?> osv. for de andre linkene.. Er det noe logisk feil med koden, siden alle de andre linkene blir borte når den ene submenyen vises etter første trykk, og kommer tilbake når jeg trykker på linken engang til..? Lenke til kommentar
gozzer Skrevet 20. august 2006 Del Skrevet 20. august 2006 (endret) Hmm... ja, du har vel en logisk feil i det at $main-/$submenu kun matcher én seksjon av gangen, og derfor vil alle de andre if-setningene dine gi falsk. Det du kan prøve, er å legge til en dette under hver av dine else-if } else { echo '<a href="index.php?id=<whatever>">MENYNAVN</a>'; } Altså, hvis vi tar den første if-en din, så blir det if ($mainmenu == 'ommeg' && $submenu == 'ommegmeny') { echo '<a href="index.php?id=ommeg">Nyheter</a>'; include($submenu.'.php'); } elseif ($mainmenu == 'ommeg' && !isset($submenu)) { echo '<a href="index.php?id=ommeg&subid=ommegmeny">Nyheter</a>'; } else { echo '<a href="index.php?id=ommeg&subid=ommegmeny">Nyheter</a>'; } Håper - og regner med - at det vil hjelpe deg litt på vei. Du kunne vel løst det med litt andre kondisjoner i elseif-en din også, men da ville den blitt litt tung og ekkel. :-) Edit: Tydligvis veldig vanskelig å klampre på tastene i dag Endret 20. august 2006 av gozzer Lenke til kommentar
Rupal Skrevet 20. august 2006 Forfatter Del Skrevet 20. august 2006 Hei og takk igjen! Jo dette så ut til å løse problemet! Tenkte aldri så langt.. Nå gjelder det å få ordnet menyen slik at selv om man klikker på en annen "hovedlink"(f.eks" om meg") i menyen så skal ikke en submeny som har vært oppe bli lukket automatisk, med mindre man manuelt klikker på tilhørende hovedlink igjen..(f.eks hvis en hovedmeny som "referanser" og dens submeny har vært åpen før man trykker på "om meg") Dere kan godt hjelpe meg med tips, hvis dere ser at dette kan løse enkelt.. I mellomtida skal jeg prøve litt selv:) Takk for hjelpen din igjen gozzer! Lenke til kommentar
gozzer Skrevet 21. august 2006 Del Skrevet 21. august 2006 (endret) Bare hyggelig det, veit du :-) Men det nye spørsmålet ditt var litt værre. Du kan jo prøve den koden her selv om jeg er litt usikker ... // HELT øverst i fila, starter du session session_start(); // Masse rart i mellom ... // Menyseksjon 'ommeg' if ($mainmenu == 'ommeg' && $submenu == 'ommegmeny') { echo '<a href="index.php?id=ommeg">Nyheter</a>'; $_SESSION['ommegmeny'] = true; } elseif ($mainmenu == 'ommeg' && !isset($submenu)) { echo '<a href="index.php?id=ommeg&subid=ommegmeny">Nyheter</a>'; unset($_SESSION['ommegmeny']); } else { echo '<a href="index.php?id=ommeg&subid=ommegmeny">Nyheter</a>'; } // skriver evt. ut submenyen if (isset($_SESSION['ommegmeny'])) {include($submenu.'.php');} /* Tilsvarende kode for alle de andre menyseksjonene. Bytt bare ut navnet på session-variabelen og innholdet og navnet på lenken. */ Edit: Siden du må skrive koden på ny for hvert av menyelementene dine, kan du gjerne bytte ut denne: // skriver evt. ut submenyen if (isset($_SESSION['ommegmeny'])) {include($submenu.'.php');} med denne: // skriver evt. ut submenyen if (isset($_SESSION['ommegmeny'])) {include('ommegmeny.php');} Evt. så kan du bytte ut alle 'ommegmeny' med $submenu, men lesbarheten er vel litt bedre hvis du kjører ren tekst. Smak og behag.. er vel lettere å kopiere koden hvis du kjører med variabler. *slutte og bable* Endret 21. august 2006 av gozzer Lenke til kommentar
Rupal Skrevet 21. august 2006 Forfatter Del Skrevet 21. august 2006 Kult, skal prøve ut koden senere på dagen, så da får vi se om dette hjelper Kommer med tilbakemeldinger. Lenke til kommentar
Rupal Skrevet 21. august 2006 Forfatter Del Skrevet 21. august 2006 Prøvde koden din gozzer, men det ble ikke noe forandringer fra sist.. Når jeg trykker på en annen hovedlink mens en annen submenu vises fram, så blir denne submenyen automatisk "lukket" ( Det som altså var situasjonen før jeg prøvde den siste koden din..) Lenke til kommentar
gozzer Skrevet 22. august 2006 Del Skrevet 22. august 2006 Da vet jeg faktisk ikke helt hva som feiler. Du kan jo alltids slenge ut kildekoden - gjerne link til både .php og .phps på serveren din. Om ingen finner noen åpenbare feil her umiddelbart, så kan man i allefall teste litt på egenhånd med koden tilgjengelig :-) Lenke til kommentar
Rupal Skrevet 22. august 2006 Forfatter Del Skrevet 22. august 2006 Skal prøve litt mer.Så skal jeg se om jeg får dette fikset.Dukker sikkert andre kinkige situasjoner som jeg kan trenge hjelp med etterhvert tror jeg Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå