Menu i PHP

Tags:    php

Dav,

Jeg er ved at sætte en ny hjemmeside op: http://damb.dk/

På denne har jeg en topmenu og det fungerer sådan set ok, men

I dag er den lavet i ren html og koden er dermed gentaget i hver eneste html dokument, hvilket ikke er specielt vedligeholdelsesvenligt.

Det burde vel ikke være noget problem at lave noget html kode & inkludere dette vha. noget SSI, men

Jeg vil gerne at den valgte side er markeret i menu'en med fed, og så var det jeg tænkte at da serveren understøtter PHP kunne man måske lave noget der var lidt smartere.

Serveren understøtter mysql, men det vil jeg gerne undgå at skulle rode med.

Når jeg har top-menuen til at spille vil jeg gerne bruge samme metode til side-menu'en.

Det skal lige siges at jeg ved intet om PHP, så svaret må gerne være skåret ud i pap.



7 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Du skal have en fil der hedder index.php som er en standard side, hvor din menu også er.
Der hvor du har dit indhold skal du så bruge include() som bruges til at inkludere en ekstern fil ind i sin php fil. Du bruger så de parametre som du sender vha. url'en til at se hvilket indhold der skal vises. et eks.

Din url i adresse linien ser ud som følgende
www.damb.dk?side=nyheder

Fold kodeboks ind/udKode 


Så er det bare op til dig selv at lave flere betingelser inde i din switch sætning.
Du kan så i samme moment vælge at gøre de menu punkter som er aktive i fed skrift vha. if-sætninger






Hvis du skal afvikle PHP kode på din egen PC kræver det for det første at du har PHP installeret, dernæst en webserver. (Ellers mener jeg at man kan bruge noget der hedder EasyPHP til at simulere en webserver lokalt).

Hvis du skal inkludere PHP i HTML må du jo så gøre det med SSI. Jeg er bare ikke helt overbevist om at det vil fungere efter hensigten.

Jeg kan sagtens komme op med en løsning på fed problemet, omend denne bliver noget omstændig, og sikkert ikke den bedste.

Mit bedste bud ville være at først og fremmest lave menuen i en seperat fil, fx menu.html og så på hovedsiden inkludere den med PHP. Dernæst må man bryde sit hoved til at finde en måde at fortælle PHP hvilken side den befinder sig på. Jeg kunne forestille mig at man kunne gøre noget med $_SERVER['REQUEST_URI'] og explode. Men som sagt bliver denne løsning noget omstændig, og muligvis ikke ønskelig for en begynder.



Jeg tænkte på om man ikke kunne gøre det omvendt (ja, jeg er totalt nybegynder), dvs. inkludere php i html.

Dvs. i stedet for at skrive menu'en i .html filen så inkludere php filen i .html filen og lave kalde en php funktion der skriver menu'en.

Og er det meget besværligt at afvikle php koden på ens egen PC?



Jeg tænkte på om man ikke kunne gøre det omvendt (ja, jeg er totalt nybegynder), dvs. inkludere php i html.

Dvs. i stedet for at skrive menu'en i .html filen så inkludere php filen i .html filen og lave kalde en php funktion der skriver menu'en.

Og er det meget besværligt at afvikle php koden på ens egen PC?


Kig på det der hedder WAMP, det er meget bruger vebligt, og opsætter selv php, MySQL, phpmyadmin og apache http://www.wampserver.com/en/

Det med fed skrift i menuen, er bare at bruge <span style=""></span>, og indholdet i style bestemmer du udfra nogle if-sætninger hvor du definere hvilken side du er på vha. $_GET[], som i mit foregående eks.



Prøver igen...

Jeg har lavet en funktion i en .php fil:

Fold kodeboks ind/udKode 


Og kalder den fra de andre sider med:
Fold kodeboks ind/udKode 


Det er nok ikke helt optimalt, men det virker sådan set ok.

Jeg skal lige lege med WAMP og/eller EasyPHP inden jeg deler point ud.



er der egentlig nogen der ved hvad der skete for Udvikleren igår? (og idag, eftersom den jo har cuttet en pokkers masse posts :S)



Jeg endte (indtil videre) med at bruge løsningen fra "03-08-06 20:24" og EasyPHP.

Den endelige løsning kom ikke fra et svar, så jeg håber at det er i orden at vi deler point.



t