La oss heller begynne helt på bunn her. Jeg vet ikke om du kanskje har lært deg dette allerede, siden det er en uke siden du skrev her sist, men jeg kan jo ta det allikevel.
Benytt $_GET for å hente informasjon fra URL-en. Dette vil si at du angir hvilken fil du ønsker å inkludere ved å legge til
?file=om_meg i URL-en. Helt enkelt vil det si at du gjør slik:
Kode
<?php include($_GET['file'] .'.php'); ?>
Hvis $_GET['file'] er satt til "om_meg" her, vil "om_meg.php" bli inkludert. Du setter $_GET['file'] til "om_meg", eller hva enn du ønsker, ved å legge til nevne ?file=om_meg i URL-en. Hele URL-en vil altså se cirkus slik ut:
http://minside.no/index.php?file=om_meg
Det du setter bak ?file=, vil altså være navnet på filen du inkluderer. Du kan like gjerne bruke ?telefon=om_meg, men da må endre $_GET['file'] til $_GET['telefon'].
Test ut dette litt, så du skjønner hvordan det funker.
Neste steg er å legge inn «statements» som sjekker om filen du forsøker å inkludere faktisk finnes. Og kanskje vi bør hindre at folk forsøker å inkludere index-fila di, slik at alt går i en endeløs loop.
Kode
<?php
if (!isset($_GET['file'])) {
include('forside.php'); // Hvis ?file= ikke finnes i URL-en inkluderer vi forsiden.
}
elseif (!file_exists($_GET['file'] .'.php')) {
echo 'Siden finnes ikke!'; // Hvis filen ikke kan inkluderes (finnes ikke), sier vi ifra om det.
}
elseif ($_GET['file'] == 'index') {
echo 'Du kan ikke inkludere index-fila, smarting!'; // Selvsagt
}
else {
include($_GET['file'] .'.php');
}
?>
Du kan jo bruke denne koden som utgangspunkt. Jeg skrev den direkte i tekstboksen her, så jeg har ikke egentlig testet den selv. Det kan være smart å lage litt orden i systemet ved å legge alle filer som skal inkluderes i en egen mappe. Så kan du jo legge inn i «statement» som ikke lar folk benytte "../" i ?file= for å forsøke å inkludere filer utenfor denne mappen. Det er mye man må ta hensyn til, men her må du prøve og feile og feile og feile og feile, så går det til slutt!
Ved å bruke denne koden kan du gjøre nettopp det du ønsker: Kun ha HTML-koden som utgjør designet ditt i index.php. Alle filene du inkluderer behøver kun å innholde tekst. Du kan selvfølge også putte diverse HTML-kode i disse filene, men selve designet bygger du altså opp i index-fila di.
Sist endret av Marlos; 9. oktober 2011 kl. 01:35.