Anterialis Skrevet 3. april 2005 Del Skrevet 3. april 2005 (endret) Jeg har en index side som inneholder text, versjon #, banner, og forskjellige andre ting. Når jeg da trykker på en annen link, så vil jeg fortsatt ha opp alle disse ekstra tingene som banner, versjon # og alt det, det eneste jeg vil endre på er hovedteksten. Til nå har jeg brukt include for å includere alle de tingene, men da må jeg jo lage dobbelt opp med sider. Vanskelig å forklare så legger ved min index.php: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Main Page</title> <link rel="stylesheet" href="style1.css" style="text/css"> </head> <body> <div id="ikon"> <a href="http://www.nanbjor.tk"><img src="Bilder/ikon.gif" id="n" alt="http://www.nanbjor.tk"></a> </div> <div id="banner"> <? include("banner.htm"); ?> </div> <div id="version"> <? include("version.htm"); ?> </div> <div id="meny"> <? include("meny.htm"); ?> </div> <div id="main"> <? include("main.htm"); ?> </div> <div id="lineup"></div> <div id="rights"> <?php include("rights.htm"); ?> </div> </body> </html> Så legger jeg inn "mail.htm" for å få opp teksten. Spørsmålet mitt er egentlig om det er en lettere måte å gjøre dette på? Jeg vil fortsatt includere alle disse ekstra tingene, men jeg vil gjøre det på en annen måte. Det skal nevnes at jeg ikke kan noen ting om php. Kan jeg for eksempel få alle sidene til å "referere" til hovedsiden (eller noe) slik at alle sidene ligner på hovedsiden, men hovedteksten er annerledes? På forhånd takk EDIT: Utrolig vanskelig å forklare men prøver på nytt: La oss si at jeg kaller "div" en jeg har tekst inni for "1". Går det ann å programere slik at når noen feks. trykker på linken "om meg" så skifter php scriptet bare ut teksten "1" med en ny tekst som handler om meg. Si at jeg kaller denne teksten for "om meg". Går det ann å kun skifte ut tekst "1" med tekst "om meg" og la alt annet forbli slik det var? spm2: Går det ann å få php-scriptet til å forstå hvem tekst den har oppe? Feks. hvis jeg har oppe "om meg" så blir linken i margen "om meg" litt gråere eller noe slik at leserene kan se hvilken link de har trykket på? Eller at det står i addressefeltet hva de er inne på? Jeg er interessert i å lære meg php, så hvis dere vil besvare mine spm. med å henvise meg til en internettside som lærer bort dette, er det helt greit! Kanskje til og med foretrukket. Endret 3. april 2005 av w3p Lenke til kommentar
EirikO Skrevet 3. april 2005 Del Skrevet 3. april 2005 Må si jeg er virkelig i tvil om hva du mener... Men.. jeg prøver. For det første skal php starte med <?php og avslutte med ?>. Så over til ditt spm.. Hvis jeg fortår deg rett, kan du bruke include($_GET['side'].php); istedet for include(main.html). Da må du sette linkene slik: <a href="?side=ommeg"> så må den siden hete ommeg.php. Søk litt rundt på forumet etter include, så finner du det nok ut... Du bør egentlig ikke bruke include($_GET['side']) direkte, da denne kan missbrukes av andre.. Men slike ting kan du tenke litt over når du søker i forumet! Lenke til kommentar
atsjoo Skrevet 4. april 2005 Del Skrevet 4. april 2005 (endret) Legg inn denne teksten i <head> i index.php-fila di: <?php if ($_GET['side']) $side = $_GET['side']; else $side = '<navnet på siden som skal inkluderes til å begynne med, eller hvis ikke annet er spesifisert (uten .htm-endelse)>'; Det dette gjør er å spesifisere hvilken fil som inkluderes første gang siden åpnes. F.eks. setter du inn "Hoved" i klammene, så vil Hoved.htm inkluderes automatisk. ?> Så setter du inn følgende der du vil ha filen inkludert: <?php include($side '.<filendelse (htm, inc, txt, php)>'); ?> Så linker du på følgende måte: <a href="index.php?side=om_meg"> Du kan også sette flere variabler i en link, hvis du vil bytte ut flere diver ved hjelp av en link. Dette er nyttig dersom du f.eks. har undermenyer for hovedkategoriene dine, som du vil at skal inkluderes i en annen div. Da må du også selvfølgelig utvide php-koden din i head. Bare kopier det du har fra før, men bytte ut "side" med det du vil at den andre variabelen du bruker skal hete. Du må ha de to linjene i <head> for hver variabel. Da ser linkene dine slik ut: <a href="index.php?side=om_meg&?meny=om_meg_meny"> Endret 4. april 2005 av atsjoo Lenke til kommentar
Anterialis Skrevet 4. april 2005 Forfatter Del Skrevet 4. april 2005 (endret) <html> <head> <title>Nytt på nanbjor.tk</title> <link rel="stylesheet" href="ver8.css" style="text/css"> <?php if ($_GET['side']) $side = $_GET['side']; else $side = 'main'; ?> </head> <body bgcolor="#ffffff"> <div id="text"> <h4> <?php include($side '.htm'); ?> </h4></div> <div id="link_main"> <a href="" class="menu">Main</a></div> </body> </html> Hva er da feil her? kommer opp som feil i browseren. Feil på linje 19 (include($side '.htm') Browseren sier: Warning: main(htm): failed to open stream: No such file or directory in /home/n/na/nanbjor/public_html/Projects/index.php on line 19 Warning: main(): Failed opening '<main>htm' for inclusion (include_path='.:/usr/share/pear') in /home/n/na/nanbjor/public_html/Projects/index.php on line 19 Endret 4. april 2005 av w3p Lenke til kommentar
Gilbert Skrevet 4. april 2005 Del Skrevet 4. april 2005 (endret) Først: include($side '.htm'); bør nok være include "$side.htm"; Og så kan vi analysere oss frem til at "No such file or directory in xx" betyr at den aktuelle filen ikke eksisterer. For å unngå en slik feilmelding kan man bytte ut include "$side.htm"; med $file = "$side.htm"; if (file_exists($file)) { include $file; } else { echo "Siden eksisterer ikke"; } Endret 4. april 2005 av fjartan 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å