Lars! Skrevet 9. juli 2004 Del Skrevet 9. juli 2004 (endret) Eg held på med ein side om Eastside Hockey Manager www.ehmsiden.com Eg bruker då dette include-scriptet: <? /* Skjekker om superglobalen er satt */ if (!isset ($_GET['id'])) { //Hvis ikke satt, setter main.php til hoved $_GET['id'] = 'main'; } if (file_exists($_GET['id'].".php")) { include($_GET['id'].".php"); } else { echo ('404! Filen finnes ikke'); } ?> Og som sagt, cutenews som nyhetssystem. Problemet er då at når man trykker på "les meir"-linken eller neste side (Linker som er generert av cutenews), så får man 404-melding. Kva skal eg gjere? Endret 9. juli 2004 av Køddleif Lenke til kommentar
dabear Skrevet 9. juli 2004 Del Skrevet 9. juli 2004 (endret) *Blei en dobbelpost* Endret 9. juli 2004 av dabear Lenke til kommentar
dabear Skrevet 9. juli 2004 Del Skrevet 9. juli 2004 <litt offtopic> Må bare si at jeg IKKE anbefaler det includescriptet ditt hvis du har ei side som http://example.com/brukere/enellerannen/index.php så er det ingenting i veien for at brukeren kan skrive følgende i adresselinja: example.com/brukere/enellerannen/index.php?id=../enellerannen2/styggoghemmeligfil og dermed vil example.com/brukere/enellerannen2/styggoghemmeligfil.php bli inkludert </litt offtopic> Har du endra noe i kildekoden til cutenews? Lenke til kommentar
Lars! Skrevet 9. juli 2004 Forfatter Del Skrevet 9. juli 2004 Har du nokon forslag til andre include-script då? Og nei, eg har ikkje endra kildekoden! Lenke til kommentar
The Red Devil Skrevet 9. juli 2004 Del Skrevet 9. juli 2004 Du kan lett bruke enten ein str_replace (bytt ut .. med noko annet) eller eregi (sjekk at variablen ikkje inneholder ..) for å være sikker på at du includerer ei side som du vil bruker skal kunne åpne. Lenke til kommentar
Lars! Skrevet 9. juli 2004 Forfatter Del Skrevet 9. juli 2004 Du kan lett bruke enten ein str_replace (bytt ut .. med noko annet) eller eregi (sjekk at variablen ikkje inneholder ..) for å være sikker på at du includerer ei side som du vil bruker skal kunne åpne. Og korleis gjer eg det? Har utruleg lite peiling på PHP ! Lenke til kommentar
???????? Skrevet 9. juli 2004 Del Skrevet 9. juli 2004 Her er en veldig enkel måte å sjekke include: - sjekke om $_GET['id'] ikke er tom (ikke bruk isset() da den er isset selv selv om den er tom ...index.php=) - sjekk at $_GET['id'] kun inneholder bokstaver - sjekke at filen finnes - include filen dersom den finnes, eller en hovedfil dersom den ikke finnes bruk: eregi("^[a-z]+$, ... for å sjekke at den kun inneholder bokstaver og file_exists() for å sjekke om filen finnes. Lenke til kommentar
Lars! Skrevet 9. juli 2004 Forfatter Del Skrevet 9. juli 2004 tilbake til topic, kva kav veire galt med cutenews? Lenke til kommentar
???????? Skrevet 9. juli 2004 Del Skrevet 9. juli 2004 Virker som det er en konflik mellom include scriptet ditt og cutenews. Siden linken i cutenews ikke inneholder id=en_side så finner den ikke siden. Lenke til kommentar
Lars! Skrevet 9. juli 2004 Forfatter Del Skrevet 9. juli 2004 Link til eit anna include-script? Lenke til kommentar
dabear Skrevet 9. juli 2004 Del Skrevet 9. juli 2004 Hvis du absolutt skal ha et includescript, gjør noe sånt som <?php switch($_GET['id']) { case 'hoved': //kommando break; case 'side2' //kommando break; default: //kommando hvis ingen av finnes break; } ?> Her må du da spesifisere alle sider før de kan bli inkludert Jeg for min del holder meg til <?php include('header.php')?> innhold <?php include('footer.php')?> Eller på min egen hjemmeserver bruker jeg php.ini sitt "auto_pretend" direktiv Lenke til kommentar
gather Skrevet 9. juli 2004 Del Skrevet 9. juli 2004 (endret) det som er saken er vel at du må bruke en annen variabel enn id siden den ser ut til å være brukt av cutenews.... <? /* Skjekker om superglobalen er satt */ if (!isset ($_GET['vis'])) { //Hvis ikke satt, setter main.php til hoved $_GET['id'] = 'vis'; } if (file_exists($_GET['vis'].".php")) { include($_GET['vis'].".php"); } else { echo ('404! Filen finnes ikke'); } ?> Da må du huske å bruke & istede for ? når du gir den andre variabelen. eks ?vis=foobar&id=31337 Endret 9. juli 2004 av gather 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å