janingar Skrevet 17. januar 2005 Del Skrevet 17. januar 2005 Hei! Jeg er ganske fersk på PHp og trenger derfor litt hjelp med et include script jeg skal bruke på hjemsiden min etterhvert. Den er hentet fra home.no.net/epleweb. Jeg lurer på, hvordan lager jeg linker som fungerer til dette scriptet og forteller det hvilken underside jeg vil vise. Poenget er at head'en og meny'en skal slippe å laste på nytt hver gang du skal skal skifte underside, men at bare undersiden skiftes ut. Samme oppgave som frames hadde før. Skriptet ser slik ut: <?php // 2-variables Page Include PHP-script // Version 1.1 // By www.epleweb.tk // CONFIGURATION $dir1 = "./inc"; /* The directory where all the pages for category 1 are */ $dir2 = "./inc2"; /* The directory where all the pages for category 2 are */ $mainpage = "./inc/main.php"; /* Main page that is included if neither cat1 nor cat2 is defined in the URL */ $fileext = ".php"; /* File extension for all pages and tutorials. ".php" by default */ $error404 = "<h2>Error 404</h2><p>Could not find the requested page</p>"; /* Error message displayed when a page doesn't exist */ /* Change the word inside the [' and the '] as you like. I.e ['page'] or ['id'] or ['section'] or whatever */ $cat1 = $_GET['cat1']; /* Example: http://www.dot.com/index.php?cat1=mypage */ $cat2 = $_GET['cat2']; /* Example: http://www.dot.com/index.php?cat2=mypage */ // END OF CONFIGURATION // If cat1 is defined in the URL: if (isset($cat1)) { $cat1 = stripslashes(strip_tags($cat1)); $forbidden1 = ereg("\.\./", $cat1); $forbidden2 = ereg("/", $cat1); $includepath= $dir1 . "/" . $cat1 . $fileext; if ($forbidden1 || $forbidden2) { echo "<h2>Error</h2>"; echo "<p>Could not include page. Only local files may be included</p>"; } else { if (@fopen("$includepath", "r")) { include ("$includepath"); } else { if (!(@fopen("$includepath", "r"))) { echo "$error404"; } } } } // If cat2 is defined in the URL: elseif (isset($cat2)) { $cat2 = stripslashes(strip_tags($cat2)); $forbidden1 = ereg("\.\./", $cat2); $forbidden2 = ereg("/", $cat2); $includepath= $dir2 . "/" . $cat2 . $fileext; if ($forbidden1 || $forbidden2) { echo "<h2>Error</h2>"; echo "<p>Could not include page. Only local files may be included</p>"; } else { if (@fopen("$includepath", "r")) { include ("$includepath"); } else { if (!(@fopen("$includepath", "r"))) { echo "$error404"; } } } } // If no category is defined in the URL: else { include ("$mainpage"); } ?> Håper noen kan hjelpe meg med det. Lenke til kommentar
Loomy Skrevet 17. januar 2005 Del Skrevet 17. januar 2005 (endret) Heihei, du vil ikke med dette, eller noen andre includescript, få "frame-effekten" ved at kun en underside lastes. Hele siden må lastes på nytt, men det går vanligvis så kjapt at man ikke merker det, allikevel. Det første du må gjøre er å stille inn $dir1 og $dir2-variablene. Den første viser til mappen hvor include-filene til $cat1-variabelen ligger, mens den andre viser til filene til $cat2 - dersom du bare trenger den ene variabelen (f.eks index.php?side=noe) kan du bare ignorere $dir2 og $cat2. $cat1 og 2 endrer du til den variabelen du vil sende i URL. Hvis du vil ha "side" skriver du $cat1 = $_GET['side'];. Samme med $cat2 Når dette er gjort lager du linkene dine sånn: <a href="index.php?side=noe">Trallala</a> ..hvis det da var "side" du valgte i $cat1 eller 2.. Endret 17. januar 2005 av Loomy Lenke til kommentar
janingar Skrevet 17. januar 2005 Forfatter Del Skrevet 17. januar 2005 Det funka! Da vil jeg bare si takk for hjelpen! Hilsen Jan Ingar Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå