Avatar billede thomze Nybegynder
09. marts 2008 - 00:17 Der er 13 kommentarer og
1 løsning

Include problem!

Jeg brugte engang,

<? if(!$page) { $page="front"; }
include("$page.php"); ?>

I det table, i min html fil, som jeg ville åbne andre filer i, altså som en erastning for Iframe.. Det er efterhånden et par år siden jeg har rodet med det sidst, men der virkede det hvis mine links hed

<a href="index.php?page=front">Frontpage</a> eks...

Men jeg kan ikke få det til at virke mere, har installeret WAMP server og det virker fint, bortset lige fra den detalje der...

Hvad kan der være galt? Er det serveren der skal ændres på for man kan få lov til at gøre det.
Avatar billede leif Seniormester
09. marts 2008 - 00:24 #1
$page bør vel være $_get["page"] når det nu kommer fra adresselinien
Avatar billede erikjacobsen Ekspert
09. marts 2008 - 00:25 #2
Hvor kommer $page dog fra??  Måske du skal hente den med
  $page=$_GET['page'];
Men lad nu være med at lægge din kode på nettet. Der er vidt åbent for hackere, der nemt kan over dit webhotel eller maskine.
Avatar billede erikjacobsen Ekspert
09. marts 2008 - 00:25 #3
...der nemt kan overTAGE dit ...
Avatar billede thomze Nybegynder
09. marts 2008 - 00:27 #4
Kan du give et helt eksempel på koden? Jeg er lige ved at prøve, at sætte mig ind i det igen.. Jeg tog de koder jeg har nævnt, fra nogle gamle sider.. det virkede sådan for et par år tilbage :)

Vil du være flink, og smide et helt eksempel på hvad jeg skal skrive, så vil jeg være dig taknemmelig :)
Avatar billede erikjacobsen Ekspert
09. marts 2008 - 00:29 #5
Det har du fået ;)
Avatar billede thomze Nybegynder
09. marts 2008 - 00:30 #6
Du smider bare et svar :) Det virkede perfekt, der kan man bare se, troede sku aldrig sådan noget blev lavet om? hehe.. men hva.. Tak :D
Avatar billede erikjacobsen Ekspert
09. marts 2008 - 00:33 #7
Den kode du bruger er tudsegammel på 2 måder:
1) Man bruger ikke "register-globals" længere, men skal hente fra $_GET, $_POST etc
2) Man laver ikke ukritisk include af filer baseret på brugerinput. Det er den sikre vej til at få hele dit site overtaget af en reklame for Søndre Smumlested Frimenighed.

Lov mig at du ikke lægger den kode på nettet før du har "fået kørekort" til web-programmering.
Avatar billede thomze Nybegynder
09. marts 2008 - 00:42 #8
Tja, well er der andre alternativer til den metode jeg bruger der ? Nu har jeg jo altid brugt den anden metode dengang jeg forsøgte mig med php sidst
Avatar billede erikjacobsen Ekspert
09. marts 2008 - 00:45 #9
Ja, det står jo i punkt 2: man skal ikke ukritisk stole på brugerinput.

Du kan derfor med fx en række if-sætninger kontrollere om det, der kommer med i $_GET['page'] er en af dine sider.
Avatar billede thomze Nybegynder
09. marts 2008 - 00:47 #10
Okay, har du et link til et tutorial omkring dette måske? Det er et par år siden jeg sidst rodede med web osv.. kender html stort set ud og ind, men er ved at prøve at sætte mig ind i php igen, så har lidt svært ved at følge det du skriver 100%, eller forstår meningen, men ved ikke præcist hvordan jeg skal skrive det osv :)
Avatar billede erikjacobsen Ekspert
09. marts 2008 - 00:50 #11
;) Nej, du mangler det lille kørekort til web-programmering. Jeg har ikke noget link umiddelbart. Men google kan vel bruges - noget med: php include dangers
Avatar billede thomze Nybegynder
09. marts 2008 - 00:51 #12
yep må lige søge lidt, men jeg takker for hjælpen :)
Avatar billede erikjacobsen Ekspert
09. marts 2008 - 00:53 #13
Og jeg samler forøvrigt slet ikke på point, tak.
Avatar billede thomze Nybegynder
09. marts 2008 - 00:56 #14
Så lukker jeg bare emnet ned :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester