Avatar billede fbhzone Nybegynder
17. september 2004 - 15:06 Der er 10 kommentarer og
1 løsning

include fil fra querystreng

Hey !

Jeg står og mangler et lille stykke kode:

Det skal inkludere page request fra querystrengen som en fil.

f.eks. hvis jeg skriver : www.dom.dk?page=start

så skal den inkludere: start.php

skriver jeg derimod ?page=farvel

så skal farvel.php inkluderes.
Avatar billede expnet Seniormester
17. september 2004 - 15:09 #1
<?
if (isset($_GET['page'])) {
  if(file_exists($_GET['page'].'.php')) {
    include($_GET['page'].'.php');
  } else {
    include('forside.php');
  }
} else {
  include('forside.php');
}
?>
Avatar billede fbhzone Nybegynder
17. september 2004 - 15:12 #2
Virker formidabelt. hvis du lige ville smide et svar kunne det være godt :p
Avatar billede expnet Seniormester
17. september 2004 - 15:13 #3
velbekommen og takker for point
Avatar billede fbhzone Nybegynder
17. september 2004 - 15:14 #4
så lidt
Avatar billede detox Nybegynder
17. september 2004 - 15:41 #5
Lige en advarsel!
Ovenstående løsning giver mulighed for at hvem som helst, kan inkludere hvad som helst.
Avatar billede expnet Seniormester
17. september 2004 - 15:43 #6
file_exists($_GET['page'].'.php'
Avatar billede sukos Juniormester
17. september 2004 - 15:46 #7
njah ikke helt, da file_exists() jo kun virker for lokale filer.
Men ingen tvivl om at der bør defineres en sti til hvor filen ligger.

<?php
$path = $_SERVER["DOCUMENT_ROOT"] ."/includefiler/";
if (isset($_GET['page'])) {
  if(file_exists($path . $_GET['page'].'.php')) {
    include($path . $_GET['page'].'.php');
  } else {
    include($path . 'forside.php');
  }
} else {
  include($path . 'forside.php');
}
?>
Avatar billede detox Nybegynder
17. september 2004 - 16:07 #8
Ok, jeg overdrev måske lidt, men jeg kan bedre li' sukos' løsning.
Avatar billede fbhzone Nybegynder
17. september 2004 - 17:26 #9
Hey..  Der var en kammerat der sagde til mig at det var usikkert. han gav mig denne løsning:

<?php
$allowed = array('start','side1','osv');

$page = $_GET['page'];
if(! in_array($page, $allowed ) )
  $page = 'start';
include($page.'.php');
?>

Som virker ganske formidabelt
Avatar billede detox Nybegynder
17. september 2004 - 17:33 #10
fbhzone -> Den er fin.
Avatar billede morteeart Nybegynder
17. september 2004 - 17:38 #11
den er altså ikke særlig usikkert

problemet er bare at så kan man ikke benytte .htaccess som loginsystem
der er absolut ingen problemer hvis du bruger sessions eller php_auth_user som loginsystem.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester