Beste vrienden,

Ik ben een echte beginneling en zou graag jullie hulp hebben.

Ik heb een klein iframe op een website en ik wil daar een variabele inhoud in laden. Dus: de ene keer home.php, de andere keer about.htm etc.

Nu dacht ik: misschien is het mogelijk om in de URL aan te laten geven welke URL er in het frame geladen moet worden.

Dus mijn framecode:

<frame src="<?php echo $_get['url']; ?>" name="mainframe" id="mainframe" title="mainframe" />

En in de URL:

http://www.example.com/frame.php?url=home.htm

Doe ik iets verkeerd dat het niet werkt? Ik kan op het interpret namelijk nergens enig ander script vinden.

Bij voorbaat dank!
Als je dit wilt zat je met de 1e code (zonder beveiliging of verificatie dat het binnen het eigen domein is) aardig goed, alleen de input is incorrect.

Ik zal ook even uitleggen waarom.

http://domein.nl/?url=http://anders.nl/hoi.html?test=6&yay=php

zal $_GET['url'] alleen http://anders.nl/hoi.html geven omdat de ? en het & teken als query worden gezien voor de rest van de url op domein.nl

Dit kán je oplossen door urlencode() uit te voeren over de url.

Dan word het:

http://domein.nl/?url=http%3A%2F%2Fanders.nl%2Fhoi.html%3Ftest%3D6%26yay%3Dphp

Dit komt dan volledig in $_GET['url']. Eerlijk gezegd weet ik niet uit mijn hoofd of je het dan nog moet decoderen maar volgens mij niet.

Anders hoef je alleen maar even urldecode() uit te voeren.

http://php.net/manual/en/function.urldecode.php
http://www.php.net/manual/en/function.urlencode.php

Jesse Degger
Jesse, bedankt.

Maar nu heb ik geen verificatie (en dat was toch onveilig)? En, het betreft een link die steeds wijzigt. Dus kan ik toch geen vaste URL in mijn bestand zetten?

Sorry dat ik er weinig van snap. Ben echt een beginneling.

Is er niet iets te bedenken waardoor alle mogelijke url's van één domein geaccepteerd worden. Die code van SanThe LIJKT namelijk niet te werken.

Nogmaals hartelijk dank voor het meedenken. Hoop dat het probleem tot een oplossing komt. :-)

Groet,

Pieter

Reageren