enden Skrevet 6. februar 2004 Del Skrevet 6. februar 2004 (endret) Når jeg endelig har fått serveren til å skjønne at jeg kjører php, vil den ikke finne sidene jeg includer Kjører <?PHP $site = $_GET['page']; $page = "/pages/"; $page .= $site; if(! $site) { $page = "pages/main"; $site = ""; } ?> øverst på siden for å finne ut hvor brukeren skal hen Alle sider ligger i katalogen pages - derav knotingen med strenger. Bruk av include i dokumentet (include på linje 45) <div id="main"> <?php include("$page.html"); ?> </div> Nå kommer serveren opp med Warning: Unable to access /pages/hardware.html in /customers/disabused.com/disabused.com/httpd.www/index.php on line 45 Warning: Failed opening '/pages/hardware.html' for inclusion (include_path='.:/usr/share/pear:/usr/share/php/PEAR') in /customers/disabused.com/disabused.com/httpd.www/index.php on line 45 Grunnen til at jeg har $site er at jeg bruker det i title Endret 6. februar 2004 av enden Lenke til kommentar
Torbjørn Skrevet 6. februar 2004 Del Skrevet 6. februar 2004 vel... hvis serveren sier at den ikke finner fila pages/hardware.html så finnes den vel ikke? Lenke til kommentar
enden Skrevet 6. februar 2004 Forfatter Del Skrevet 6. februar 2004 jo men siden ligger der Alt virker fint på hjemmeserveren min, og jeg har bare kopiert hele strukturen (uten feil - har sjekket og dobbeltsjekket) Lenke til kommentar
sven-o Skrevet 6. februar 2004 Del Skrevet 6. februar 2004 (endret) jo men siden ligger der Alt virker fint på hjemmeserveren min, og jeg har bare kopiert hele strukturen (uten feil - har sjekket og dobbeltsjekket) Hva om du forandrer $page = "/pages/"; til $page = "./pages/"; ? Ved include mener php filsystemets rot, ikke brukerens www-rot. Alternativt kan du bruke: $page="/customers/disabused.com/disabused.com/httpd.www/pages/"; Edit: Alternativt: $page = getcwd()."/pages/"; Endret 6. februar 2004 av sven-o Lenke til kommentar
enden Skrevet 6. februar 2004 Forfatter Del Skrevet 6. februar 2004 (endret) Takk gud for forumet. Nå får jeg igjen for alle gangene jeg har vært snill og skrevet (mer eller mindre gode) avhandlinger til hml n00bs Det der hadde ikke jeg funnet ut om så verden stod for fall Men hvorfor skjønte den automatisk verdien jeg ga $page i if-setningen? Det var nemlig ikke noe problem med å ikke oppgi page argumentet i det hele tatt Endret 6. februar 2004 av enden Lenke til kommentar
sven-o Skrevet 6. februar 2004 Del Skrevet 6. februar 2004 Men hvorfor skjønte den automatisk verdien jeg ga $page i if-setningen? Det var nemlig ikke noe problem med å ikke oppgi page argumentet i det hele tatt Tenkte du på denne? if(! $site) { $page = "pages/main"; $site = ""; } Tror php tolker pages/ og ./pages/ som det samme. Er ikke sikker though... Tips: Mulig du har forenklet koden din her, men du burde være litt mer forsiktig med å inkludere filer direkte fra $_GET['page']. F. eks kan du ha et array med lovlige sider, og sjekke $_GET['page'] mot dette, slik: $lovlige = Array("main","news","rompatilmor"); if(!in_array($_GET['page'],$lovlige)) exit("Skamme seg!"); Lenke til kommentar
enden Skrevet 7. februar 2004 Forfatter Del Skrevet 7. februar 2004 (endret) Har ikke lagt inn noen validering på page argumentet enda nei. Sitter og vurdere et par metoder opp mot hverandre Men takk for tipset om !in_array(). Den kunne jeg ikke. Mye rart php har som jeg ikke har sett/brukt andre steder Endret 7. februar 2004 av enden Lenke til kommentar
Torbjørn Skrevet 7. februar 2004 Del Skrevet 7. februar 2004 for å si det sånn - hvis du støter på noe som du vil anta er et vanlig problem for web programmerere, så vil funksjonen sannsynligvis finnes. Lenke til kommentar
enden Skrevet 7. februar 2004 Forfatter Del Skrevet 7. februar 2004 for å si det sånn - hvis du støter på noe som du vil anta er et vanlig problem for web programmerere, så vil funksjonen sannsynligvis finnes. Godt sagt 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å