Joachimv Skrevet 20. september 2009 Del Skrevet 20. september 2009 (endret) Jeg er helt ny til scripting og har hatt litt HTML og CSS på skolen men har aldrig interessert meg noe særlig for det til nå. Noen som har forslag til hvordan jeg kan utforme en slik layout jeg har skissert? Ønsker at menylinkene skal åpnes i boksen der det står "php()include-command". Hadde en kompis i sin tid som laget noe slikt for meg, men hvordan? på forhånd takk! Endret 22. september 2009 av viiite Lenke til kommentar
Matsemann Skrevet 20. september 2009 Del Skrevet 20. september 2009 (endret) Dette kan enten løses med iframe/frames (dårlig løsning), eller includescript i php. Kode: <?php /* I N K L U D E R I N G S S K R I P T * v 1.0 * * Skrive av Ola Mjanger (2005) * * Artikkel om inkludering med PHP: [url="http://www.norskwebforum.no/viewtopic.php?t=12111"]http://www.norskwebforum.no/viewtopic.php?t=12111[/url] * * */ /* I N N S T I L L I N G A R */ /* Lim inn på toppen av dokumentet * Forandre variablane etter dine ønsker */ $handlername = 'page'; // her blir linkane ?side=xxx. Forandre til det du bruker $defaultSide = 'main.php'; // den fila som blir inkludert dersom inga side er etterspurt i URL-en $includePath = 'includes/'; // stien til mappa sidene som skal inkluderast ligg i $errorPage = '404.php'; // fila som blir inkludert dersom ei side som ikkje ligg i mappa blir etterspurt $filendelse = '.php'; // filendelsen på filane som skal inkluderast /* S C R I P T S T A R T */ /* Første delen henter variabelen i url-en og alle filnavn i mappa du skal inkludere frå */ /* Treng ikkje endrast */ $URLside = &$_GET[$handlername]; // lagar ein enklare variabel for variabelen sendt gjennom url-en $rep = opendir($includePath); // åpnar mappa som er satt i $includePath while ($file = readdir($rep)) { if($file != '..' && $file !='.' && $file !='' && !is_dir($file)) // unngår mapper { $filer[]=$file; // legg alle filane i mappa inn i $filer-arrayet } } closedir($rep); // lukker mappa if (!isset ($URLside)) // viss det ikkje blir sendt ein variabel gjennom url-en for å bestemma kva side som skal inkluderast { $side = $includePath . $defaultSide; // blir filen satt i $defaultSide inkludert } else { $side = $URLside . $filendelse; // legg til filendelsen satt i $filendelse for å if (in_array ($side, $filer)) { // sjekker om den etterspurte sida er i arrayet $side = $includePath . $side; // inkluder sida } else { // ellers $side = $includePath . $errorPage; // inkluder filmeldinga, satt i $errorPage } } /* I N K L U D E R I N G S D E L */ /* Lim inn der innhaldet skal inkluderast */ include_once $side; // inkluderer sida som er bestemt gjennom diverse testar ?> Les mer her. Endret 20. september 2009 av Matsemann Lenke til kommentar
Joachimv Skrevet 20. september 2009 Forfatter Del Skrevet 20. september 2009 Takker for svar! Planen var å bruke include og ikke frames ja, men hvordan osv. Jeg trenger også hjelp til å lage layouten og de forskjellige elementene, og ikke bare includ-funksjonen Lenke til kommentar
Matsemann Skrevet 20. september 2009 Del Skrevet 20. september 2009 Nå sitter jeg på feil PC, så jeg har ikke alt tilgjengelig, men kastet sammen noe raskt. index.php <?php /* I N K L U D E R I N G S S K R I P T * v 1.0 * * Skrive av Ola Mjanger (2005) * * Artikkel om inkludering med PHP: [url="http://www.norskwebforum.no/viewtopic.php?t=12111"]http://www.norskwebforum.no/viewtopic.php?t=12111[/url] * * */ /* I N N S T I L L I N G A R */ /* Lim inn på toppen av dokumentet * Forandre variablane etter dine ønsker */ $handlername = 'side'; // her blir linkane ?side=xxx. Forandre til det du bruker $defaultSide = 'main.php'; // den fila som blir inkludert dersom inga side er etterspurt i URL-en $includePath = 'includes/'; // stien til mappa sidene som skal inkluderast ligg i $errorPage = '404.php'; // fila som blir inkludert dersom ei side som ikkje ligg i mappa blir etterspurt $filendelse = '.php'; // filendelsen på filane som skal inkluderast /* S C R I P T S T A R T */ /* Første delen henter variabelen i url-en og alle filnavn i mappa du skal inkludere frå */ /* Treng ikkje endrast */ $URLside = &$_GET[$handlername]; // lagar ein enklare variabel for variabelen sendt gjennom url-en $rep = opendir($includePath); // åpnar mappa som er satt i $includePath while ($file = readdir($rep)) { if($file != '..' && $file !='.' && $file !='' && !is_dir($file)) // unngår mapper { $filer[]=$file; // legg alle filane i mappa inn i $filer-arrayet } } closedir($rep); // lukker mappa if (!isset ($URLside)) // viss det ikkje blir sendt ein variabel gjennom url-en for å bestemma kva side som skal inkluderast { $side = $includePath . $defaultSide; // blir filen satt i $defaultSide inkludert } else { $side = $URLside . $filendelse; // legg til filendelsen satt i $filendelse for å if (in_array ($side, $filer)) { // sjekker om den etterspurte sida er i arrayet $side = $includePath . $side; // inkluder sida } else { // ellers $side = $includePath . $errorPage; // inkluder filmeldinga, satt i $errorPage } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta hTittel</title> <link rel="stylesheet" href="stil.css" type="text/css" /> </head> <body> <div id="wrapper"> <div id="header"><img src="" /></div> <div id="meny"> <a href="?side=omoss">Om oss</a> <a href="?side=kontakt">Kontakt</a> </div> <div id="innhold"> <?php /* I N K L U D E R I N G S D E L */ /* Lim inn der innhaldet skal inkluderast */ include_once $side; // inkluderer sida som er bestemt gjennom diverse testar ?> </div> </div> Og så har du en mappe som heter includes der du legger filene. Lag en fil der som heter main.php med noe innhold, en som heter omoss.php osv. Skjønner du tegninga? Om du sliter med selve oppsettet (altså designet) er det bare å si ifra. Lenke til kommentar
Joachimv Skrevet 20. september 2009 Forfatter Del Skrevet 20. september 2009 (endret) Tusen takk Er vell egentlig designet jeg sliter mest med, vil gjerne ha de "tabellene" på plass først liksom.. edit: evt hvordan de div'ene ville vært. Endret 20. september 2009 av viiite Lenke til kommentar
Matsemann Skrevet 20. september 2009 Del Skrevet 20. september 2009 Den er grei, gi meg noen minutter (og DIV's, ikke tabeller ) Lenke til kommentar
Joachimv Skrevet 20. september 2009 Forfatter Del Skrevet 20. september 2009 (endret) Skrev egentlig posten før jeg leste gjennom din og så det var div'er Vil det skal være sentrert og feks 500px bredt, bare for å si det Endret 20. september 2009 av viiite Lenke til kommentar
Matsemann Skrevet 20. september 2009 Del Skrevet 20. september 2009 index.php <?php /* I N K L U D E R I N G S S K R I P T * v 1.0 * * Skrive av Ola Mjanger (2005) * * Artikkel om inkludering med PHP: [url="http://www.norskwebforum.no/viewtopic.php?t=12111"]http://www.norskwebforum.no/viewtopic.php?t=12111[/url] * * */ /* I N N S T I L L I N G A R */ /* Lim inn på toppen av dokumentet * Forandre variablane etter dine ønsker */ $handlername = 'side'; // her blir linkane ?side=xxx. Forandre til det du bruker $defaultSide = 'main.php'; // den fila som blir inkludert dersom inga side er etterspurt i URL-en $includePath = 'includes/'; // stien til mappa sidene som skal inkluderast ligg i $errorPage = '404.php'; // fila som blir inkludert dersom ei side som ikkje ligg i mappa blir etterspurt $filendelse = '.php'; // filendelsen på filane som skal inkluderast /* S C R I P T S T A R T */ /* Første delen henter variabelen i url-en og alle filnavn i mappa du skal inkludere frå */ /* Treng ikkje endrast */ $URLside = &$_GET[$handlername]; // lagar ein enklare variabel for variabelen sendt gjennom url-en $rep = opendir($includePath); // åpnar mappa som er satt i $includePath while ($file = readdir($rep)) { if($file != '..' && $file !='.' && $file !='' && !is_dir($file)) // unngår mapper { $filer[]=$file; // legg alle filane i mappa inn i $filer-arrayet } } closedir($rep); // lukker mappa if (!isset ($URLside)) // viss det ikkje blir sendt ein variabel gjennom url-en for å bestemma kva side som skal inkluderast { $side = $includePath . $defaultSide; // blir filen satt i $defaultSide inkludert } else { $side = $URLside . $filendelse; // legg til filendelsen satt i $filendelse for å if (in_array ($side, $filer)) { // sjekker om den etterspurte sida er i arrayet $side = $includePath . $side; // inkluder sida } else { // ellers $side = $includePath . $errorPage; // inkluder filmeldinga, satt i $errorPage } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta hTittel</title> <link rel="stylesheet" href="stil.css" type="text/css" /> </head> <body> <div id="wrapper"> <div id="header"><img src="header.jpg" /></div> <div id="meny"> <ul> <li><a href="?side=omoss">Om oss</a></li> <li><a href="?side=kontakt">Kontakt</a></li> <li><a href="?side=potetgull">Potetgull</a></li> <li><a href="?side=poteter">Poteter</a></li> </ul> </div> <div id="innhold"> <?php /* I N K L U D E R I N G S D E L */ /* Lim inn der innhaldet skal inkluderast */ include_once $side; // inkluderer sida som er bestemt gjennom diverse testar ?> </div> </div> stil.css * { padding: 0px; margin: 0px; } body { background-color:#33FFCC; } div#wrapper { width:500px; background-color:#3399CC; margin:0px auto; } div#header { width:500px; height:100px; background-color:#00FF33; } div#meny { width:500px; height:40px; background-color:#99CC33; } div#meny ul { list-style-type:none; } div#meny li { float:left; text-align:center; } div#meny a { font-weight:bold; font-size: 12px; color: #c0c2c4; width: 125px; height: 30px; padding-top:10px; background-color:#484848; display:block; } div#meny a:hover { background-color:#990066; } Tror det skal virke. 500 px ble litt smalt, men bare bytt alle 500px ut med noe annet. Og bredden på ting i div#meny a må tilsvare bredden delt på antall elementer. Lenke til kommentar
Joachimv Skrevet 20. september 2009 Forfatter Del Skrevet 20. september 2009 (endret) ah flott takk! men hvilken div i css kan jeg endre fonten på? :S har prøvd omtrent alle div-ene.. får ikke frem det jeg har skrevet i includes/kontakt.php heller never mind, fant ut det med font-en, men include fungerer dog ikke. Endret 20. september 2009 av viiite Lenke til kommentar
Joachimv Skrevet 21. september 2009 Forfatter Del Skrevet 21. september 2009 (endret) [LØST] Endte opp med å bruke denne koden for å inkludere: <?php if(isset($_GET['home'])){ include('includes/home.php'); }else if(isset($_GET['kontakt'])){ include('includes/kontakt.php'); } else { include('includes/hovud.php'); } ?> denne koden for å kunne benytte det i en meny: <a href="index.php?home">Home</a> Endret 22. september 2009 av viiite Lenke til kommentar
Yankes Skrevet 2. oktober 2009 Del Skrevet 2. oktober 2009 if(isset($_GET['side'])) { if(!file_exists($_GET['side'])) { $side = "error"; // Her kan du ha en fil du kaller error.php som skriver ut f.eks. Error, siden finnes ikke! } else { $side = $_GET['side']; } } else { $side = "hovedsiden"; // hovedsiden.php, dette er standardsiden om ingen side er valgt } $plassering = "./MAPPENAVN/"; // Dette er mappen hvor sidene som skal inkluderes ligger $filendelse = ".php"; // Filendelsen på filene du skal inkludere $include = $plassering . $side . $filendelse; include_once($include); Dette er bare et simpelt script jeg skrev sånn i farten, men bruker selv noe lignende, men er på jobb nå.. Med dette skriptet kan du bare skrive linkene dine sånn: <a href="?side=hovedsiden">Hovedsiden</a> 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å