mgjall Skrevet 21. desember 2007 Del Skrevet 21. desember 2007 Hei, er det noen som kan hjelpe meg med et include-script? Det er et includescript jeg har fra mortz. Jeg har delt opp siden v.h.a. en tabell og har hovedinnholdet i en celle, men så vil jeg ha lastet forskjellige bilder i cellen over etter hva hovedinnholdet er. Hvordan får jeg inkludert dette bildet etter hvilken link jeg trykker på. Et av bildene skal i tillegg være en flash fil. Koden under er en forenklet sak, bare for å vise hva jeg mener. <?php // sjekke om brukeren er logget inn // (last ned loginscriptet eller bruk dine egne rutiner) session_start(); if ($_SESSION['LoggedIn']) $LoggedIn=true; else $LoggedIn=false; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <style type="text/css"> @import "style.css"; </style> <title>testSide</title> <script type="text/javascript"> //Her ligger et script for menyen, som jeg ikke har lagt med her for at det ikke skulle bli så mye kode </script> <body> <table width="783" border="0" align="center"> <tr> <td><img src="Pics/header.jpg"width="783" border="0" align="center"> //Denne headeren er alltid fast. <tr> <td></td> </tr> <tr> <td> // Her skal forskjellige bilder inn etter hva innholdet på linken er. </td> </tr> <tr> <td><table width="783" border="0"> <tr> <td width="150"> // her ligger menyen i venstre celle <a href="index.php?page=home">::home</a><br><br> <a href="mailto:[email protected]">::e-mail</a><br><br> <a href="index.php?page=musikk">::musikk</a><br><br> <a href="index.php?page=gjestebok">::gjestebok</a><br><br> <a target="_blank" href="index.php?bilder">::bilder</a><br><br> <a href="index.php?page=undermeny" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu1, '150px')" onMouseout="delayhidemenu()">::undermeny</a><br><br> </td> <td width="623"> <?php // her ligger includescriptet som mortz har laget. Dette er innholdet på siden. // Det jeg trenger er at samtidig som dette innholdet blir lastet her, så blir det // tilhørende bildet lastet i tabellcellen over. /*** KONFIGURASJON ***/ $default = "home"; // fila som skal inkluderes hvis variabelen er tom. $directory = "inc"; // mappa filene dine ligger i. $extension = "php"; // filendingen på filene dine. $page = $_GET['page']; // for å hindre at det inkluderes fra uønskede plasser (stopper hackerne) if (preg_match('/(http:\/\/|^\/|\.+?\/)/', $page)) echo "I'll h4x yuo!!1"; elseif (!empty($page)) // sjekke at variabelen ikke er tom. { if (file_exists("$directory/$page.$extension")) // sjekke om fila eksisterer. include("$directory/$page.$extension"); // inkluder fila. else // hvis ikke, echo "<h1>Error 404</h1>\n<p>Finner ikke siden!</p>\n"; // skriv en feilmelding. } else // eller, include("$directory/$default.$extension"); // inkluder fila som definert som $default ?> </td> </tr> </table></td> </tr> </table></td> </tr> </table> </body> </html> Lenke til kommentar
funkyboy Skrevet 21. desember 2007 Del Skrevet 21. desember 2007 (endret) Du har jo allerede et includescript. Det du kan gjøre, i og med at du ikke benytter mysql for lagring av innholdsdata; Alternativ 1. Navngi filene med en fellesnevner, eksempelvis timestamp. Du navngir deretter f.eks. hovedinnhold med h, filen som inneholder bilder for b etc. Så når du har filer som heter eksempelvis 10161777_h.inc.php og 10161777_b.inc.php er de en enkel sak å inkludere ut ifra info som ligger i $_GET. Alternativ 2. Lag funksjoner som skriver ut sider for deg. Eksempel: Function Skriv_ut_topp($title) { echo <<<END <html> <head> .. <title>${title}</title> .. <td> END; } Du lager deretter filen din som vanlig, og bruker funksjoner som skriver ut det du har i mellom innhold; <? include('funksjonsbibliopteket.php'); Skriv_ut_topp('Min tittel'); ?> <h1>Første innholdsfelt</h1> <p>Her vil jeg ha innhold</p> <? Skriv_ut_neste_del(); ?> Og så videre. Alternativ 3. MySQL. En mye enklere løsning. ;-) Og til slutt; Tabeller er ikke beregnet for design. Edit: Feil i syntax - Function. Endret nå. Endret 21. desember 2007 av funkyboy Lenke til kommentar
mgjall Skrevet 21. desember 2007 Forfatter Del Skrevet 21. desember 2007 (endret) Takker. Da skal jeg prøve litt her. Hva vil du bruke isteden for tabell? Jeg har fått include-scriptet til å fungere, og den laster siden som jeg vil. Det var egentlig bare det at jeg ville ha en header i en annen celle og få det lastet inn samtidig med hovedinnholdet. Kan jeg da bare legge det samme include scriptet inn i headeren og endre litt på verdiene? Endret 21. desember 2007 av mgjall Lenke til kommentar
funkyboy Skrevet 21. desember 2007 Del Skrevet 21. desember 2007 (endret) > Takker. Da skal jeg prøve litt her. Hva vil du bruke isteden for tabell? Bare hyggelig. Bruk CSS isteden for tabeller. Du definerer alt som har med utseende å gjøre i en .css- fil, og bruker tags som f.eks <div>. Du kan se på f.eks http://www.htmldog.com/ eller http://www.w3schools.com/ for å se hvordan du lager css- basert layout. Eller rett og slett Google. Dersom du søker etter noe ala "Why not use tables for design", vil du også fort finne en god begrunnelse. ;-) > Kan jeg da bare legge det samme include scriptet inn i headeren og endre litt på verdiene? Det er fullt mulig. Nå vet jeg ikke helt hvordan dine inlude- filer ser ut, men du kan eventuelt legge inn en funksjon i mellom innholdsbolkene som skriver ut det som skal være der. Eksempelvis </td><td>. Definerer du dette som en funksjon, er det mye lettere å endre denne kun EN plass isteden for å endre samme ting i tjue- førti filer. :-) Edit: Da blir det omtrent slik: <h1>Overskrift</h1> <?php Skriv_ut_innhold_mellom_overskrift_og_innhold(); ?> <p> Innholdet fortsetter du her, og php gjør jobben for deg med å skrive innholdet mellom overskrift og dette innholdet.. </p> Endret 21. desember 2007 av funkyboy Lenke til kommentar
mgjall Skrevet 21. desember 2007 Forfatter Del Skrevet 21. desember 2007 Takk nok en gang Da skal jeg bruke litt tid på lage dette her på nytt, så kan det hende jeg spør igjen om noen dager. Lenke til kommentar
funkyboy Skrevet 21. desember 2007 Del Skrevet 21. desember 2007 Takk nok en gang Da skal jeg bruke litt tid på lage dette her på nytt, så kan det hende jeg spør igjen om noen dager. Den er god. Bare å spørre. 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å