Zyrex_ Skrevet 6. februar 2004 Del Skrevet 6. februar 2004 (endret) Jeg driver å mekker en ny side og lurte på hvordan jeg skal få menyen til å synes på alle sider. Må ha en metode slik at jeg kan forandre en fil som istedetfor å forandre menyen på alle sider. Tenkte layouten som noe lignende Hw.no sin, med en meny/banner på toppen og en på hver side. Endret 6. februar 2004 av Zyrex_ Lenke til kommentar
Zethyr Skrevet 6. februar 2004 Del Skrevet 6. februar 2004 let i phpforumet... du må nok bruke php-include. Lenke til kommentar
pgdx Skrevet 6. februar 2004 Del Skrevet 6. februar 2004 Du må strengt tatt bare lage en side som dette: <?PHP $page = $_GET['page']; if (!$page) { $page = main; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Side til meg</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="stilark.css" type="text/css"> </head> <body> <div id="header"></div> <div id="meny"> <ul> <li><a href="index.php?page=main">Main</a></li> <li><a href="index.php?page=meg">meg</a></li> </div> <div id="main"><?php include("$page.php"); ?> </div> </body> </html> Der har du hele index.php Lenke til kommentar
Zethyr Skrevet 6. februar 2004 Del Skrevet 6. februar 2004 (endret) Siden du inkludere skal selvfølgelig _ikke_ inneholde <head>, <body>, osv.... Bare det man vanligvis finner på inne i body-elementet. Endret 6. februar 2004 av Zethyr Lenke til kommentar
pgdx Skrevet 6. februar 2004 Del Skrevet 6. februar 2004 Ja, som sagt tok jeg meg av index.php Noen andre, evt trådstarter, kan ta seg av css-en og de filene som skal inkluderes. Lenke til kommentar
Zyrex_ Skrevet 6. februar 2004 Forfatter Del Skrevet 6. februar 2004 hadde ikke vært mulig og komme med eksempler på index og en eller to sider under den? Lenke til kommentar
Zyrex_ Skrevet 6. februar 2004 Forfatter Del Skrevet 6. februar 2004 tror kanskje jeg skjønner det nå. Iallefall en måte som fungerer. men når jeg først er igang, et vanlig html dokument med tabeller for menyene. men da må jeg lage det for hver side, slik at jeg er like langt hvis jeg bytter layout, altså må lage alle sidene på nytt. her er koden jeg brukte. litt rotete men. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252"> <TITLE></TITLE> </HEAD> <BODY LANG="nn-NO" DIR="LTR"> <TABLE WIDTH=100% BORDER=0 CELLPADDING=4 CELLSPACING=0 STYLE="page-break-before: always; page-break-inside: avoid"> <COL WIDTH=85*> <COL WIDTH=85*> <COL WIDTH=85*> <THEAD> <TR> <?php include ("banner.html"); ?> <TH COLSPAN=3 WIDTH=100% VALIGN=TOP> <P><BR> </P> </TH> </TR> </THEAD> <TBODY> <TR VALIGN=TOP> <TD WIDTH=20%> <P> php include ("meny.html"); ?> </P> </TD> <TD WIDTH=60%> <P> bvjsfvbfjlb <br> gfdgdfnikgbnltjdgbkjf <br> gfrhlgnteldn </P> </TD> <TD WIDTH=20%> <P> <?php include ("meny.html"); ?><BR> </P> </TD> </TR> </TBODY> </TABLE> <P><BR><BR> </P> </BODY> </HTML> Lenke til kommentar
enden Skrevet 6. februar 2004 Del Skrevet 6. februar 2004 Hele cluet med design som er lett å endre er å droppe tabellene helt, og heller satse på div med css. Da lager du noe så enkelt som dette: <html> <head> <title>tittel</<title> <link rel="stylesheet" href="STILARK.css" media="screen" type="text/css" title="default"/> </head> <body> <div class="header"> blablabla </div> <div class="meny"> blablabla </div> <div class="innhold"> blablabla </div> </body> </html> Så kan du bruke css stilarket til å flytte ting rundt på. Så til saken: Du vil ikke ha menyen sånn at du må redigere hver eneste side for å oppdatere menyen - forståelig. Du har da i realiteten et alternativ. Det er å legge menyen i et eget dokument og finne en måte å inkludere dette i siden din på. Den beste teknikken for dette er php. Da behandles siden din på serveren, og hver gang noen henter den vil php motoren lime inn koden i det eksterne menydokumentet i siden som hentes: Siden som hentes <div class="meny"> <?php include(meny.html) ?> </div> meny.html (hvor menyen ligger, duh..) <a href="URL1">link1</a> <a href="URL2">link2</a> <a href="URL3">link3</a> resultatet brukeren mottar <div class="meny"> <a href="URL1">link1</a> <a href="URL2">link2</a> <a href="URL3">link3</a> </div> Som du ser er <?php include(meny.html) ?> byttet ut av php motoren med innholdet i meny.html Dette krever at serveren støtter php Det andre alternativet er iframe. Mange grøsser når de leser dette, men det virker. Betingelsen her er at nettleseren skjønner javascript, forid man må jobbe litt rundt et par sperrer for at det skal virke... Siden som hentes <div class="meny"> <iframe src="meny.html"> </div> meny.html <html> <head> <title>meny</title> </head> <body> <a href="URL1">link1</a> <a href="URL2">link2</a> <a href="URL3">link3</a> </body> </html> Mens man i php kombinerer de to dokumentene på serveren og sender en fiks ferdig side til brukeren må man i dette tilfellet laste ned den første side, så ser nettleseren at her er det en iframe, så må den laste ned denne og. Du har da i praksis to websider i nettleseren din. Den siden du hentet, og menysiden som er en del av den andre. Problemet ligger da i at linker i iframen (menyen din) vil endre iframen og ikke hele dokumentet. Altså, klikker du på www.vg.no vil vg.no åpne seg bare der hvor menyen var før, og ikke i hele vinduet. Dette kan omgås meg javascript, noe jeg ikke orker gå inn på her. Minuset er at ikke alle støtter javscript (men det er ikke mange). Et annet minus er at med iframe må denne ha en bestemt størrelse, og denne må endres hvis du legger til meg i menyen enn det er plass til. Litt mas, men det virker Lenke til kommentar
Zyrex_ Skrevet 6. februar 2004 Forfatter Del Skrevet 6. februar 2004 Takk Så kan du bruke css stilarket til å flytte ting rundt på. hvordan gjør jeg det? slik at jeg får 3 php menyer (topp, høyre og venstre) Og hvordan skal jeg få det til å fungere sammen med hver enkelt side, er det noen mulighet for å få den til å gjøre alt selx slik at hvis du går inn på en link med bare tekst så lager den en side med menyene på og skriften i midten. Eller noen som har noen bedre forslag. Er litt ny i PHP og css Lenke til kommentar
Zyrex_ Skrevet 6. februar 2004 Forfatter Del Skrevet 6. februar 2004 (endret) Blir litt mange svar på egen post men. Har fått til css og html nå. Nå trenger jeg bare en måte få menyen til å sette inn et vanlig html dokument når jeg trykker på den. eks: når du trykker på "velkommen" så settes fila "velkommen.html" automatisk inn. Velkommen.html skal være en helt standar Html kode. hvis dere skjønner hva jeg mener og dette er mulig å la seg gjøre. Dette er index sida. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html><head><title>e5150.org</title> <style type="text/css"> @import "all.css"; </style> </head><body> <div id="banner"> <?php include(banner.html) ?> </div> <div id="leftcontent"></div> <div id="centercontent"> <?php include(center.html) ?> </div> <?php include(left.html) ?> <div id="rightcontent"> <?php include(right.html) ?> </div> </body> </html> Endret 7. februar 2004 av Zyrex_ Lenke til kommentar
enden Skrevet 7. februar 2004 Del Skrevet 7. februar 2004 Nå er jeg ganske n00b på PHP, og dette blir litt feil forum, men here goes: Brukeren skriver følgende URL: www.dittdomene.com/index.php?page=ballesvie Øverst på siden har du: <?PHP $page = $_GET['page']; if(! $page) { $page = "main"; } ?> cluet her er at du henter en parameter fra URLen brukere taster inn. $_GET['page']; er en metode som returnerer verdien til page (ballesvie) Dette lagres variablen $page. I selve koden for main-området bruker vi: <?php include("$page.html"); ?> som rett og slett er en include med verdien_av_$pagge + .html if-setningen i det øverste scriptet sjekker om det faktisk blir oppgitt noe $page, hvis ikke settes $page til main sånn at ved www.dittdomene.com/index.php blir main lastet Legg merke til at jeg ikke har tatt for meg sjekking av at siden det refereres til virkelig finnes, og en allowed liste over verdier til $page. Dette var bare ment som en liten innføring. Ta det vidre i php delen 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å