magikern Skrevet 11. november 2002 Del Skrevet 11. november 2002 Jeg får ikke dette til og fungere og har begynt å tro at det kan ha noe med serveren min å gjøre? Her er scriptet jeg bruker: <?PHP // Where all your text files are located at $directory = './some-directory/'; // If the variable exists // Example: If the url is index.php?page=aboutme if($page) { // Does the file $directory/$page.php exist? if(is_file("$directory$page.php")) include("$directory$page.php"); else print "Sorry, this page does not exist"; } // If the page is just called as index.php // Then just include the default main.php page else { $mypage = 'main.php'; include("$directory$mypage"); } ?> hva jeg enn skriver etter index.php?page= så kommer bare main.php fram selv om jeg faktisk skriver navnet på en annen existerende fil. _________________ jeg finner vel på noe etterhvert [ endret av kilogram den 2002-11-11 16:26 ] Lenke til kommentar
kilogram Skrevet 11. november 2002 Del Skrevet 11. november 2002 Først og fremst må du gjere følgjande øverst i skriptet Code: $page = $HTTP_POST_VARS['page']; Deretter Code: { // Does the file $directory/$page.php exist? if(file_exists($directory.$page.'.php')) include($directory.$page.'.php'); else print "Sorry, this page does not exist";} Trur ganske enkelt det er eit problem med at du ikkje har slått på støtte for variabler for kommando-linja, noko som det faktisk er anbefalt at er slått av. :smile: Om du framleis har problem, ver venleg å gje beskjed. Lenke til kommentar
WooooHa ! Skrevet 11. november 2002 Del Skrevet 11. november 2002 Regner med du har byttet ut "./some-directory" med noe mer fornuftig ? $page må også initialiseres et sted, er dette hele scriptet ? KA http://www.hodegymnastikk.net ~~~~~~~~~~~~~~~~~~~~~~ Lenke til kommentar
magikern Skrevet 11. november 2002 Forfatter Del Skrevet 11. november 2002 Quote: Trur ganske enkelt det er eit problem med at du ikkje har slått på støtte for variabler for kommando-linja, noko som det faktisk er anbefalt at er slått av. hvis dette er problemet hvordan slår jeg på støtte for variabler? ja jeg har et annet navn på mappa _________________ jeg finner vel på noe etterhvert [ Denne Melding var redigert av: magikern på 2002-11-11 19:04 ] Lenke til kommentar
kilogram Skrevet 11. november 2002 Del Skrevet 11. november 2002 $page må ikkje initialiserast dersom slike ting er slått på. For å slå på denne typen "juksing", så finn du instillinga i PHP.ini, men det er ikkje anbefalt å slå det på. Prøv heller måten eg sa, med å initialisere $page slik eg gjorde. Om det ikkje verkar, kom attende og sjå kva som skjer... :smile: Lenke til kommentar
rait.no Skrevet 10. desember 2002 Del Skrevet 10. desember 2002 Slik ville jeg ha gjort det: Code: $directory = 'includes'; if($page) { if(file_exists("$directory/$page.php"))include_once("$directory$page.php"); else print "Sorry, this page does not exist"; }else { $mypage = "main.php"; include("$directory/$mypage"); } ?> Lenke til kommentar
supersmalltalk Skrevet 12. desember 2002 Del Skrevet 12. desember 2002 Hei. Ken sin måte vil jeg si ser ut til og være best. Har på samme måte selv. -kjetil Lenke til kommentar
Svendsen Skrevet 7. mars 2003 Del Skrevet 7. mars 2003 hvordan bruker jeg den koden til Ken? er ny på dette. Det er dette som gir meg sånne adresser ikke sant? http://forum.hardware.no/posting.php?mode=...f67742cbcriptet s Lenke til kommentar
magikern Skrevet 7. mars 2003 Forfatter Del Skrevet 7. mars 2003 Har lært meg veldig mye mer om php siden den gangen jeg sleit med det scriptet og har siden skrevet det om ganske mye(fjernet noen ting før jeg la det ut her da det er ting og tang jeg ikke vil vise verden i originalscriptet, men dette er alt som trengs til inkludering): <?PHP //hvor du legger dine filer $directory = '/helst en mappe før "document root"/'; //linja under sørger for at scriptet fungerer når register_globals=off $page = $_GET["page"]; //vi vil vel ikke at besøkende skal inkludere filer utenfor $directory $ilegal1 = ereg("../", $page); $ilegal2 = ereg("/", $page); //bare for å gjøre ting litt lettere senere $home = ('http://yourdomain.com'); //hvis noen spør etter page if($_REQUEST['page']) { if(is_file("$directory$page.php")) //eksisterer fila i mappa? { if($ilegal1 OR $ilegal2) { //er fila ulovlig? echo ("<em>HTTP/1.1 403 Forbidden</em><br /><a href=' $home '>go back</a>"); }else{ require_once("$directory$page.php"); //krev at fila vises } }else{ echo ("<em>HTTP/1.1 404 Not Found</em><br /><a href=' $home '>go back</a>"); //vi fant vist ikke fila } }else{ /*det var vist ingen som spurte etter $page da viser vi bare en default $page*/ header("Location: http://yourdomain.com/?page=welcome"); } ?> for å bruke dette scriptet legg det i en fil du kaller index.php og legger i "document root" så legger du alle filer som skal inkluderes i en mappe som du skriver banen til i $directory = ''; i menyer skriver du linkene som <a href="?page=welcome">welcome</a>(hvis fila som skal inkluderes heter welcome.php) selvfølgelig kan man også gjøre det slik ken skrev, men jeg har bare slengt inn masse mer beskyttelse. Lenke til kommentar
Svendsen Skrevet 7. mars 2003 Del Skrevet 7. mars 2003 jeg har brukt denne, men bare index.htm vises, ikke topp.htm alt ligger i samme mappe, den heter test mappa test kommer etter rota mi ( der index fila skal ligge) <?php $MenuPath = "topp.htm"; include("$MenuPath"); ?> <?php $IncludeDir = "/"; $DefaultPath = "index.htm"; if (isset($side)) { $side = stripslashes(strip_tags($side)); $Forbidden1 = ereg("../", $side); $Forbidden2 = ereg("/", $side); 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("$IncludeDir/$side.inc", "r")) { include ("$IncludeDir/$side.inc"); } elseif (!(@fopen("$IncludeDir/$side.inc", "r"))) { echo "<h1>Server Error 404</h1>n"; echo "<p>Finner ikke den forespurte siden.</p>n"; } } } else { include("$DefaultPath"); } ?> Lenke til kommentar
Svendsen Skrevet 7. mars 2003 Del Skrevet 7. mars 2003 i menyer skriver du linkene som <a href="?page=welcome">welcome</a>(hvis fila som skal inkluderes heter welcome.php) kan de ha andre endinger enn php, feks htm ??? hvordan funker dette med tabeller og sånt? når bruker jeg index2.php <? include("topp.htm") ?> <? include("index2.htm") ?> <? include("bunn.htm") ?> topp har desigen og åpningen av tabellen der index2.htm skal inn bunn lukker Lenke til kommentar
magikern Skrevet 8. mars 2003 Forfatter Del Skrevet 8. mars 2003 kan de ha andre endinger enn php, feks htm ??? Ja require_once("$directory$page.php"); bytt ut .php med hva du vil i denne linjen hvordan funker dette med tabeller og sånt? det fungerer med alle former for html når bruker jeg index2.php <? include("topp.htm") ?> <? include("index2.htm") ?> <? include("bunn.htm") ?> topp har desigen og åpningen av tabellen der index2.htm skal inn bunn lukker kan vise deg en standard slags template jeg selv bruker for tiden, men jeg bruker bare <div> de få gangene ejg tar i bruk tabeller er det bare for det jeg synes de KAN brukes til nemlig kalendere og lignende ting. template som du ser nederst på templaten min avslutter jeg <div class="main> etter å ha inkludert footer.php, dette er heller ikke noe problem med tabeller du kan selvfølgelig avslutte tabellen i footer også, bare husk å avslutt riktig </td></tr></table> på rett sted. 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å