Dynamic frame
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="" 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!
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="" 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!
je doet het op wel goed, maar het is totaal niet veilig.
Vincent Huisman op 28/08/2010 12:07:32:
je doet het op wel goed, maar het is totaal niet veilig.
Inderdaad, bijna goed. Het is $_GET met hoofdletters.
En zeer onveilig.
Gewijzigd op 28/08/2010 12:15:35 door - SanThe -
wat je moet controleren is of home.htm bestaat op jouw server.
Een relatief veilige manier is om alle pagina's te plaatsen in de map /paginas en vervolgens:
Dit is niet de meest waterdichte manier maar voor zoiets redelijk.
Hoe het werkt:
1. Plaats bijv. home.htm in de map /paginas
2. roep je script aan met ?url=home
3. het werkt!
Een relatief veilige manier is om alle pagina's te plaatsen in de map /paginas en vervolgens:
Code (php)
Dit is niet de meest waterdichte manier maar voor zoiets redelijk.
Hoe het werkt:
1. Plaats bijv. home.htm in de map /paginas
2. roep je script aan met ?url=home
3. het werkt!
Gewijzigd op 28/08/2010 12:17:22 door Jesse Degger
Hartelijk dank voor de antwoorden. Super dat ik zoveel vriendelijke reacties krijg. Dat is op andere fora wel is anders.
Heb alleen één vraag: waar moet ik die laatste code (van Jesse Degger) plaatsen? Als ik hem bovenin mijn pagina plaats, wordt hij namelijk genegeerd en kan ik toch nog een externe pagina aanroepen.
Heeft iemand enig idee?
Heb alleen één vraag: waar moet ik die laatste code (van Jesse Degger) plaatsen? Als ik hem bovenin mijn pagina plaats, wordt hij namelijk genegeerd en kan ik toch nog een externe pagina aanroepen.
Heeft iemand enig idee?
Precies op de plek waar jouw echo reeds staat.
Thnks!
Nu heb ik nog één vraag: Wat moet ik veranderen als ik ook een pagina wil waarin URL's geladen kunnen worden van 1 externe URL geladen kunnen worden.
Dus bijvoorbeeld: ik wil alleen de pagina's toestaan die komen van example.com
Hopelijk vinden jullie mij geen zeur! Ik waardeer de hulp ZEER!
Nu heb ik nog één vraag: Wat moet ik veranderen als ik ook een pagina wil waarin URL's geladen kunnen worden van 1 externe URL geladen kunnen worden.
Dus bijvoorbeeld: ik wil alleen de pagina's toestaan die komen van example.com
Hopelijk vinden jullie mij geen zeur! Ik waardeer de hulp ZEER!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
// alleen bestanden uit de map paginas die eindigen .htm
if(file_exists("paginas/".basename($_GET['url']).".htm")){
// als dat bestaat geef dan die link
echo "paginas/".basename($_GET['url']).".htm";
} elseif($_GET['url'] == 'www.example.com') {
echo $_GET['url'];
}else{
// zoniet
echo "paginas/errors/404.htm";
}
?>
// alleen bestanden uit de map paginas die eindigen .htm
if(file_exists("paginas/".basename($_GET['url']).".htm")){
// als dat bestaat geef dan die link
echo "paginas/".basename($_GET['url']).".htm";
} elseif($_GET['url'] == 'www.example.com') {
echo $_GET['url'];
}else{
// zoniet
echo "paginas/errors/404.htm";
}
?>
Gewijzigd op 28/08/2010 23:19:34 door - SanThe -
Thnx,
Echter, als ik dit regeltje inbouw, krijg ik een geheel wit scherm...
Echter, als ik dit regeltje inbouw, krijg ik een geheel wit scherm...
een heel wit scherm betekent over het algemeen dat de PHP programmacode fout gaat. Check of je alles goed hebt qua syntax, komma's en puntkomma's etc
Ben zelf teveel analfabeet om code hierop te controleren. De code die ik gebruik staat hierboven in de post van SanThe Nvt
Wat ik nu nog graag zou willen is namelijk dat een permalink die ik per mail stuur, geopend wordt in een iframe.
Mijn permalink: http://www.mydomain.nl/firstdir/?page_id=152&code=1f53cccb12064256772e2b34e791eb0f&addr=mailaddress%40mydomain.nl&
En die wil ik dus graag laten openen met behulp van: www.mydomain.nl/frame.php?url= (is pagina met daarop iframe)
Maar kom er zelf echt niet uit. Hoop dat jullie me willen helpen.
Groeten!
Wat ik nu nog graag zou willen is namelijk dat een permalink die ik per mail stuur, geopend wordt in een iframe.
Mijn permalink: http://www.mydomain.nl/firstdir/?page_id=152&code=1f53cccb12064256772e2b34e791eb0f&addr=mailaddress%40mydomain.nl&
En die wil ik dus graag laten openen met behulp van: www.mydomain.nl/frame.php?url= (is pagina met daarop iframe)
Maar kom er zelf echt niet uit. Hoop dat jullie me willen helpen.
Groeten!
Gewijzigd op 28/08/2010 15:01:25 door Pieter Blom
jij hebt de link nu naar mydomain.nl/fistdir/index.php?page_id...... maar jij zegt dat je hem wilt linken naar mydomain.nl/frame.php?page_id.........
Ik wil de permalink laten openen in het iframe.
De complete nieuwe link zal er dus ongeveer zou uit zien:
www.mydomain.nl/frame.php?url=http://www.mydomain.nl/firstdir/?page_id=152&code=1f53cccb12064256772e2b34e791eb0f&addr=mailaddress%40mydomain.nl&
Maar ik krijg het script niet zo veranderd dat pagina frame.php deze link (en soortgelijke) accepteert.
Toevoeging op 28/08/2010 19:28:12:
Ben zelf heel de middag nog aan het 'tobben' geweest en het werkt nog steeds niet :'(
Zolang ik maar een 'normale URL' aanroep, dan gaat het prima. Maar zodra ik een permalink aanroep, gaat het verkeerd. Hopelijk heeft iemand een idee hoe dit opgelost kan worden.
Ik zoek heel internet af en nergens iets te vinden.
De complete nieuwe link zal er dus ongeveer zou uit zien:
www.mydomain.nl/frame.php?url=http://www.mydomain.nl/firstdir/?page_id=152&code=1f53cccb12064256772e2b34e791eb0f&addr=mailaddress%40mydomain.nl&
Maar ik krijg het script niet zo veranderd dat pagina frame.php deze link (en soortgelijke) accepteert.
Toevoeging op 28/08/2010 19:28:12:
Ben zelf heel de middag nog aan het 'tobben' geweest en het werkt nog steeds niet :'(
Zolang ik maar een 'normale URL' aanroep, dan gaat het prima. Maar zodra ik een permalink aanroep, gaat het verkeerd. Hopelijk heeft iemand een idee hoe dit opgelost kan worden.
Ik zoek heel internet af en nergens iets te vinden.
Gewijzigd op 28/08/2010 15:17:24 door Pieter Blom
Voor mijn gevoel zit je er vlakbij. Zeker als een normale URL het wel doet... De oplossing weet ik echter niet.
Of je moet iets zien te vinden waardoor alle pagina's (!) van mydomain.nl geaccepteerd worden.
Of je moet iets zien te vinden waardoor alle pagina's (!) van mydomain.nl geaccepteerd worden.
SanThe Nvt op 28/08/2010 14:20:34:
<iframe src="style="width: 677px; height: 523px" border="0" frameborder="0" name="iframe"></iframe>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
// alleen bestanden uit de map paginas die eindigen .htm
if(file_exists("paginas/".basename($_GET['url']).".htm")){
// als dat bestaat geef dan die link
echo "paginas/".basename($_GET['url']).".htm";
} elseif($_GET['url'] == 'www.example.com') {
echo $_GET['url'];
}else{
// zoniet
echo "paginas/errors/404.htm";
}
?>
// alleen bestanden uit de map paginas die eindigen .htm
if(file_exists("paginas/".basename($_GET['url']).".htm")){
// als dat bestaat geef dan die link
echo "paginas/".basename($_GET['url']).".htm";
} elseif($_GET['url'] == 'www.example.com') {
echo $_GET['url'];
}else{
// zoniet
echo "paginas/errors/404.htm";
}
?>
Even voor de duidelijkheid: ik maak nu gebruik van bovenstaande code. Heb de iframe tages er ook maar even bij gezet.
Probleem is dus dat de code wel werkt met normale bestanden, maar niet met permalinks. Ook niet als ik htm in php verander. Zie mijn bovenstaande reactie.
Hopelijk is hier iemand die de oplossing weet... heb werkelijk alles geprobeerd... :(
Gewijzigd op 28/08/2010 20:57:03 door Pieter Blom
je moet www.example.com (regel 9) ook wel veranderen in de pagina die jij wilt toestaan
Vincent Huisman op 28/08/2010 20:59:55:
je moet www.example.com (regel 9) ook wel veranderen in de pagina die jij wilt toestaan
dat spreekt voor zich...
Die van SanThe klopt, echter moest dit:
Dit worden:
Hij was een ] vergeten ;)
Hier het goede script:
Dit worden:
Hij was een ] vergeten ;)
Hier het goede script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// alleen bestanden uit de map paginas die eindigen op .htm laden
if(file_exists("paginas/".basename($_GET['url']).".htm")){
// als die bestaat geef dan de link
echo 'paginas/'.basename($_GET['url']).'.htm';
} elseif($_GET['url'] == 'www.example.com') {
echo $_GET['url'];
} else{
// zoniet, de pagina bestaat niet, geef dan een error
echo "paginas/errors/404.htm";
}
?>
// alleen bestanden uit de map paginas die eindigen op .htm laden
if(file_exists("paginas/".basename($_GET['url']).".htm")){
// als die bestaat geef dan de link
echo 'paginas/'.basename($_GET['url']).'.htm';
} elseif($_GET['url'] == 'www.example.com') {
echo $_GET['url'];
} else{
// zoniet, de pagina bestaat niet, geef dan een error
echo "paginas/errors/404.htm";
}
?>
dan had je je error reporting ook uit staan, anders had je namelijk al snel door dat die regel het probleem was
Als je in mijn script kijkt, zie je dat ik dat aangepast heb... (al had ik het niet meteen door) en nog steeds werkt het niet...
Morgen (zondag) niet beschikbaar. Hoop maandag verder te gaan. Tot dan! Groeten!
Morgen (zondag) niet beschikbaar. Hoop maandag verder te gaan. Tot dan! Groeten!
Lars Groot op 28/08/2010 21:50:55:
Thanks, ik heb het verbeterd.
[OnTopic]
<iframe src=" ==> het php stuk <== style="width: ...... enzovoort.
Waar sluit je de quote af van src="..." <== die dus.
Gewijzigd op 28/08/2010 23:25:26 door - SanThe -




