Gå til innhold

Hvordan lage Sub-include?


Anbefalte innlegg

Jeg har vært borte i mange scripts som lager den fine adressen:

 

index.php?id=side

 

Nå, har jeg byttet tilbake til RAweb (http://www.raweb.net) sitt script, men jeg sitter igjen med et spørsmål. Hvordan kan man med dette, eller andre lignende scripts lage "sub-adresser" som f.eks.:

 

index.php?id=side&side2=side3

 

Jeg har prøvd alle forskjellige metoder, med å legge filer i submapper osv.

 

Dette scriptet fra RAweb bruker jeg:

 

<?php

$IncludeDir    = "./includes";
$DefaultPath   = "./includes/main.php";
$ErrorPath     = "./includes/404.php";
$FileExtension = ".php";

 if (isset($_GET['id'])) {
 $id = $_GET['id'];
 $id = stripslashes(strip_tags($id));
 $Forbidden1 = ereg("\.\./", $id);
 $Forbidden2 = ereg("/", $id);
 $IncludePath = $IncludeDir . "/" . $id . $FileExtension;

   if ($Forbidden1 OR $Forbidden2) {
   echo "<h1>Advarsel</h1>\n";
   echo "<p>Forespørsler på tvers av definerte \n";
   echo "områder er ikke tillatt.</p>\n";
   }
   else {
     if (@fopen("$IncludePath", "r")) { 
     include ("$IncludePath"); 
     }
     elseif (!(@fopen("$IncludePath", "r"))) {
     include ("$ErrorPath");
     }
   }
 }
 else {
 include("$DefaultPath"); 
 }

?>

Lenke til kommentar
Videoannonse
Annonse

hmm, har ett script liggende her, som du kan se på.

 

<?php
if(empty($_GET["module"]) AND empty($_GET["file"])){
include("main.php");
} elseif(!empty($_GET["module"]) AND !isset($_GET["file"])){
if(is_dir("modules/".$_GET["module"]) AND file_exists("modules/".$_GET["module"]."/index.php")){
 include("modules/".$_GET["module"]."/index.php");
} else {
 include("404.php");
}
} elseif(!empty($_GET["module"]) AND !empty($_GET["file"])){
if(is_dir("modules/".$_GET["module"]) AND file_exists("modules/".$_GET["module"]."/".$_GET["file"].".php")){
 include("modules/".$_GET["module"]."/".$_GET["file"].".php");
} else {
 include("404.php");
}
} else {
include("404.php");
}
?>

Skal egentlig ligge noen preg_match() deler der og, men regexpene mine vil ikke funke :(

 

edit: fikk ikke kopiert med første i :p

 

edit2: kan kanskje legge med strukturen.

?module=test&file=theme

går da til modules/test/theme.php

?module=test

går da t il modules/test/index.php

Endret av LoS
Lenke til kommentar

Jeg vet dette virker ganske dumt men, jeg orker ikke å teste for å finne det ut.

Leste igjennom dette:

hmm, har ett script liggende her, som du kan se på.

 

 

Hvordan kan ma

hmm, har ett script liggende her, som du kan se på.

 

<?php
if(empty($_GET["module"]) AND empty($_GET["file"])){
include("main.php");
} elseif(!empty($_GET["module"]) AND !isset($_GET["file"])){
if(is_dir("modules/".$_GET["module"]) AND file_exists("modules/".$_GET["module"]."/index.php")){
include("modules/".$_GET["module"]."/index.php");
} else {
include("404.php");
}
} elseif(!empty($_GET["module"]) AND !empty($_GET["file"])){
if(is_dir("modules/".$_GET["module"]) AND file_exists("modules/".$_GET["module"]."/".$_GET["file"].".php")){
include("modules/".$_GET["module"]."/".$_GET["file"].".php");
} else {
include("404.php");
}
} else {
include("404.php");
}
?>

Skal egentlig ligge noen preg_match() deler der og, men regexpene mine vil ikke funke sad.gif

 

edit: fikk ikke kopiert med første i tongue.gif

 

edit2: kan kanskje legge med strukturen.

?module=test&file=theme

går da til modules/test/theme.php

?module=test

går da t il modules/test/index.php

 

Hvordan kan man lage ENDA en sub-include?

Som f.eks.: index.php?module=about&file=enfil&file=enannenfil

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...