Dynamic frame

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Pieter Blom

Pieter Blom

28/08/2010 12:01:59
Quote Anchor link
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="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?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!
 
PHP hulp

PHP hulp

24/04/2024 20:01:28
 
Vincent Huisman

Vincent Huisman

28/08/2010 12:07:32
Quote Anchor link
je doet het op wel goed, maar het is totaal niet veilig.
 
- SanThe -

- SanThe -

28/08/2010 12:14:59
Quote Anchor link
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 -
 
Jesse Degger

Jesse Degger

28/08/2010 12:16:43
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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";

}
else{

    // zoniet
    echo "paginas/errors/404.htm";

}


?>


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
 
Pieter Blom

Pieter Blom

28/08/2010 13:45:15
Quote Anchor link
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?
 
- SanThe -

- SanThe -

28/08/2010 13:53:02
Quote Anchor link
Precies op de plek waar jouw echo reeds staat.
 
Pieter Blom

Pieter Blom

28/08/2010 14:12:40
Quote Anchor link
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!
 
- SanThe -

- SanThe -

28/08/2010 14:20:34
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";

}


?>
Gewijzigd op 28/08/2010 23:19:34 door - SanThe -
 
Pieter Blom

Pieter Blom

28/08/2010 14:39:17
Quote Anchor link
Thnx,

Echter, als ik dit regeltje inbouw, krijg ik een geheel wit scherm...
 
Aad B

Aad B

28/08/2010 14:50:25
Quote Anchor link
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
 
Pieter Blom

Pieter Blom

28/08/2010 14:59:37
Quote Anchor link
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!
Gewijzigd op 28/08/2010 15:01:25 door Pieter Blom
 
Vincent Huisman

Vincent Huisman

28/08/2010 15:10:33
Quote Anchor link
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.........
 
Pieter Blom

Pieter Blom

28/08/2010 15:16:19
Quote Anchor link
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.
Gewijzigd op 28/08/2010 15:17:24 door Pieter Blom
 
Brian Brummelkamp

Brian Brummelkamp

28/08/2010 19:56:43
Quote Anchor link
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.
 
Pieter Blom

Pieter Blom

28/08/2010 20:38:59
Quote Anchor link
SanThe Nvt op 28/08/2010 14:20:34:
<iframe src="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";

}


?>
style="width: 677px; height: 523px" border="0" frameborder="0" name="iframe"></iframe>


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
 
Vincent Huisman

Vincent Huisman

28/08/2010 20:59:55
Quote Anchor link
je moet www.example.com (regel 9) ook wel veranderen in de pagina die jij wilt toestaan
 
Pieter Blom

Pieter Blom

28/08/2010 21:27:34
Quote Anchor link
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...
 
Lars Groot

Lars Groot

28/08/2010 21:50:55
Quote Anchor link
Die van SanThe klopt, echter moest dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo $_GET['url';

Dit worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo $_GET['url'];


Hij was een ] vergeten ;)
Hier het goede script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";

}

?>
 
Vincent Huisman

Vincent Huisman

28/08/2010 22:24:16
Quote Anchor link
dan had je je error reporting ook uit staan, anders had je namelijk al snel door dat die regel het probleem was
 
Pieter Blom

Pieter Blom

28/08/2010 23:05:58
Quote Anchor link
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!
 
- SanThe -

- SanThe -

28/08/2010 23:24:04
Quote Anchor link
Lars Groot op 28/08/2010 21:50:55:
Die van SanThe klopt, echter moest dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo $_GET['url';

Dit worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo $_GET['url'];


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 -
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.