JeyKey Skrevet 21. mai 2006 Del Skrevet 21. mai 2006 (endret) ja, det skal du kunne da. Eller bare la det stå blankt, index er den fila som inkluderes da også. Endret 21. mai 2006 av JeyKey Lenke til kommentar
Fjoggs Skrevet 22. mai 2006 Del Skrevet 22. mai 2006 (endret) Bruk heller dene så slipper du a bruke den stygge url her: http://eksempel.no/index.php?side=side1&handling=les&hva=epost men kan istende bruke dene "pene" uri: http://eksempel.no/index.php/side1/les/epost <?php // Folder der alle sidene dine ligger $includeDirectory = '../lib'; // Siden som blir valgt hvis den øsnkede siden ikke er gyldig $defaultPage = 'frontPage.php'; // Fil endelse til sidene dine $postFix = '.php'; // Formater URIen slik at man fjerner alt forand index.php/ $rawUri = getUri($_SERVER['REQUEST_URI']); function getUri($url) { $tmp = explode('.php/',$url); if (isSet($tmp[1])) { return $tmp[1]; } return null; } // Splitt opp /side1/les/epost til $uri = array('side1','les','epost') $uri = array(); if (($pos = strpos($rawUri, '?')) !== false) { $uri = processUri(substr($rawUri, 0, $pos)); } else { $uri = processUri($rawUri); } function processUri($uri) { return explode('/', trim($uri, '/')); } // sjekk om den ønskede siden eksistere. // Hvis ikke så bruker vi den forvalgte $requestedPage = ''; if (empty($uri[0])) { $requestedPage = $includeDirectory . DIRECTORY_SEPARATOR .$defaultPage . $postFix; } else { if (file_exists($includeDirectory . DIRECTORY_SEPARATOR . $uru[0] . $postFix)) { $requestedPage = $includeDirectory . DIRECTORY_SEPARATOR . $uru[0] . $postFix; } else { $requestedPage = $includeDirectory . DIRECTORY_SEPARATOR .$defaultPage . $postFix; } } require_once($requestedPage); Enda penere kan den bli om du benytter modRewrte: http://eksempel.no/side1/les/epost <?php // Folder der alle sidene dine ligger $includeDirectory = '../lib'; // Siden som blir valgt hvis den øsnkede siden ikke er gyldig $defaultPage = 'frontPage.php'; // Splitt opp /side1/les/epost til $uri = array('side1','les','epost') $uri = array(); $rawUri = $_SERVER['REQUEST_URI']; if (($pos = strpos($rawUri, '?')) !== false) { $uri = processUri(substr($rawUri, 0, $pos)); } else { $uri = processUri($rawUri); } function processUri($uri) { return explode('/', trim($uri, '/')); } // sjekk om den ønskede siden eksistere. // Hvis ikke så bruker vi den forvalgte $requestedPage = ''; if (empty($uri[0])) { $requestedPage = $includeDirectory . DIRECTORY_SEPARATOR .$defaultPage; } else { if (file_exists($includeDirectory . DIRECTORY_SEPARATOR . $uru[0])) { $requestedPage = $includeDirectory . DIRECTORY_SEPARATOR . $uru[0]; } else { $requestedPage = $includeDirectory . DIRECTORY_SEPARATOR .$defaultPage; } } require_once($requestedPage); Endret 22. mai 2006 av Fjoggs Lenke til kommentar
Gjest Slettet+142 Skrevet 23. mai 2006 Del Skrevet 23. mai 2006 (endret) Ligger også et eksempel her 6153153[/snapback] dette e jo det eg bruker... tror eg... bare at eg lagde mitt sjøl då... Endret 23. mai 2006 av Slettet+142 Lenke til kommentar
Soberano Skrevet 17. desember 2007 Del Skrevet 17. desember 2007 php.net er verdens største online php dokumentasjon, så jeg ville nok lært meg til å like den. Den er forresten veldig brukervennlig, enkel og oversiktlig. Ingenting galt med den. php.net/in_array forteller deg hva funksjonen gjør, hva slags parametere den tar osv. Under følger det noen praktiske eksempler. Du er helt avhengig av å bruke den til litt større prosjekter, du kan ikke huske all verdens funksjoner i hodet. Og her er scriptet mitt med forklaring: <?php $dir = 'include/'; // mappen filene ligger i $file_suffix = '.inc.php'; // Filendelsen filene har $side = $_GET['side']; // siden du skrev inn i URL'en blir lagt i variabelen $side $default = 'forside.inc.php'; // Siden som inkluderes hvis ikke $side finnes, eller er tom $legal_sites = scandir($dir); // lager et array over tillatte fil $illegal_sites= array('Thumbs.db','.ftpquota','hemmelig_fil.txt'); // det samme med ulovlige filer if(in_array($legal_sites, $side . $file_suffix) && !in_array($illegal_sites, $side . $file_suffix)) @include($dir . $side); // inkluderer filen i URL'en hvis den finnes og ikke er i ulovlig-arrayet else @include($dir . $default); // Hvis den ikke finnes, eller $_GET['side'] er tom ?> den koden legger du i index.php der du vil ha den. Så oppretter du en mappe som heter 'include' og legger en haug med filer som har filendelsen .inc.php der. Så er det bare å skrive "index.php?side=navn_på_fil_i_mappen". Du MÅ ha filen forside.inc.php der, den er standardfilen og forsiden. Den her funker ikke da.. det er fakka rekkefølge.. String, så array.. Lenke til kommentar
Yankes Skrevet 18. desember 2007 Del Skrevet 18. desember 2007 (endret) Jada, jeg har sett at nest siste innlegg ble skrevet i 2006 og at mariyo sikkert har fått til dette for lenge siden, men bare for å få klarhet i det og hvis andre her vil gjøre det samme så må vel dette være den enkleste veien? bare legg page1.php, page2.php o.s.v. i en mappe som du kaller "inc" og i index.php skriver du dette der du skal ha frem innholdet i page1, page2 o.s.v. <?php $page = $_GET['page']; if(!isset($page)) { $page = "1"; } $incfil = "./inc/page" . $page . ".php"; if(file_exists($incfil)) { include($incfil); } else { print("Siden finnes ikke!"); } ?> og linkene blir da sånn som skrevet i topic! Endret 18. desember 2007 av YaNkEs Lenke til kommentar
Gjest Slettet+142 Skrevet 18. desember 2007 Del Skrevet 18. desember 2007 (endret) Det er det nok, ja. Og ja, jeg har funnet dette ut for lenge siden, hvor jeg aller første gangen hadde noe likt til det du akkurat skrev, YaNkEs. Ellers kan man sikre skriptet ditt litt mer, inkludere bruk av database eller flatfiler osv... uansett burde skriptet ditt beskytte mot "../" <?php $page = $_GET['page']; if(!isset($page) || strpos($page, "../")!==FALSE) { $page = "1"; } $incfil = "./inc/page" . $page . ".php"; if(file_exists($incfil)) { include($incfil); } else { print("Siden finnes ikke!"); } ?> Edit: men er vel idé å ikke poste mer i denne tråden... Endret 18. desember 2007 av Slettet+142 Lenke til kommentar
Jarmo Skrevet 18. desember 2007 Del Skrevet 18. desember 2007 Saken er løst, og/-eller trådstarter har bedt om stenging. Ønskes saken gjenoptatt kan dette innlegget rapportères, og tråden vil bli vurdert gjenåpnet. Lenke til kommentar
Anbefalte innlegg