Externe HTML met file_get_contents - FORM

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Joshua W

Joshua W

08/11/2010 15:03:15
Quote Anchor link
Ik beheer een website, waarvan sommige pagina's gevuld worden met HTML van een andere website (zakenpartner van mijn klant) momenteel dmv file_get_contents.
Op die andere website staat een zoekformulier, ik ben enkel toegestaan de HTML op deze website aan te passen, niet de php.
Het werkt om het formulier met behulp van "file_get_contents" neer te zetten, enkel de functionaliteit werkt alleen extern, met behulp van $_POST.
De pagina los werkt echter wel.

Mijn vraag is dus, is het mogelijk dat het submitcommando wordt uitgevoerd op een externe server, en de htmlpagina die daarmee geschreven wordt weer terug te halen met file_get_contents.

Ik heb ook gedacht aan een simpele IFRAME met de losse pagina op de externe site (wat wel werkt), alleen met IFRAME loop ik tegen het simpele feit aan dat ik een scrollbar krijg wat niet echt mijn bedoeling is.

Hoop dat jullie mijn vraag begrijpen, maar ik kan altijd verdere uitleg verschaffen als men dat vraagt.

Vast bedankt :)


Jos
Gewijzigd op 08/11/2010 15:09:22 door Joshua W
 
PHP hulp

PHP hulp

05/11/2024 15:38:58
 
- Mark -

- Mark -

08/11/2010 15:08:59
Quote Anchor link
Kijk eens naar cURL voor het versturen van het formulier en het ophalen van het resultaat. Met file_get_contents kom je er niet volgens mij. cURL wordt wel niet door elke webhost ondersteunt.

Je kunt ook de scrollbar van de Iframe uitzetten maar of dat gewenst is weet ik niet.
 
Joshua W

Joshua W

08/11/2010 15:26:13
Quote Anchor link
Ja ik vind nu net ook iets over cURL, daar ga ik in eerste instantie even naar kijken.
Maar als je een iframe hebt met een scrollbar die uitstaat, mis je gewoon 90% van je zoekresultaten toch? Dan wordt je iframe niet net zo groot als de pagina in je frame, da's het probleem dan weer daarvan. Verder zal ik dan met CSS moeten rotzooien aangzien mijn CSS in mijn eigen site zit, als je IFRAMES gebruikt, wordt jouw css niet gebruikt in je iframe.

Ik ga even kijken naar cURL. In ieder geval bedankt!
 
Jurgen Meijer

Jurgen Meijer

08/11/2010 15:41:20
Quote Anchor link
Curl is hiervoor uitermate geschikt, CURL is niets meer dan een HTTP aanvraag. En hierbij kun je natuurlijk post en get meegeven. Dit resultaat sla je op en geef je dan weer in je veld.
 
Joshua W

Joshua W

08/11/2010 15:57:23
Quote Anchor link
Heb 'm werkend :)!
http://www.sitemasters.be/tutorials/1/1/437/PHP/CURL_nader_verklaard
De belgen hebben me even geholpen :)!

Had eerder nog nooit gehoord van curl, maargoed, ooit moet je eerste keer zijn.
Geniaal!

Toevoeging op 08/11/2010 16:03:03:

Ho! Volgend probleem. Als ik nu mijn zoekresultaten weergeef zitten daar linkjes in, $_GET variabelen die opgehaald moeten worden op de externe site. Op al mijn gewone pagina's die ik met file_get_contents ophaalde, heb ik een str_replace gedaan en er mijn eigen $_GET variabele page voor geplakt, die file_get_contents na klikken weer netjes uitprint.
Kan ik op één of andere wijze ook een str_replace doen op mijn output van CURL of dat dan weer niet?
 
Jordi Kroon

Jordi Kroon

08/11/2010 16:04:37
Quote Anchor link
kan je een screenshot laten zien
want ik begrijp niet helemaal wat je bedoeld
 
- Mark -

- Mark -

08/11/2010 16:09:13
Quote Anchor link
Verander curl_exec($ch); eens naar $source = curl_exec($ch); De broncode van de website komt dan te staan in $source.

Teven moet je als ik het goed heb hetvolgende er nog boven zetten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

    #| Set cURL to return data.    
        
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

?>


Je moet dan wel echo $source doen om het resultaat weer te geven. Nadat je de gewenste dingen hebt aangepast natuurlijk.
Gewijzigd op 08/11/2010 16:17:09 door - Mark -
 
Joshua W

Joshua W

08/11/2010 16:18:26
Quote Anchor link
Dit werkt beter dan een screenshot:
http://www.life4sun.nl/divsite/huuraanbodspanje.php

De content (lijst met huizen in dit geval) komt van een externe site. De linkjes met hun getvariabelen zijn normaal href="?key=...., maar omdat ik voor elke pagina die ik van hun site pluk een file_get_contents($_GET['page']) uitvoer, maak ik van elk linkje die ik ophaal href="?page=http://......?key=, zodat ik de juiste page ophaal met file_get_contents.

De zoekpagina: http://life4sun.nl/divsite/huuraanbodspanje.php?page=http%3A%2F%2Fwww.easymakelaar.eu%2Fhouses%2F%3Fkey%3Dlife4sun%26menu%3Dzoek%26language%3Dnl%26huko_a%3Dhuren

Als ik nu een execute uitvoer met curl, krijg ik precies de output van de site, met dezelfde linkjes als in de complete lijst die je hierboven kunt bekijken, maar het proces om de links naar eigen hand te zetten lukt mij nu niet omdat de output niet in een variable staat als pure HTML.

Toevoeging op 08/11/2010 16:20:47:

Mark Coenen op 08/11/2010 16:09:13:
Verander curl_exec($ch); eens naar $source = curl_exec($ch); De broncode van de website komt dan te staan in $source.

Teven moet je als ik het goed heb hetvolgende er nog boven zetten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

    #| Set cURL to return data.    
        
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

?>


Je moet dan wel echo $source doen om het resultaat weer te geven. Nadat je de gewenste dingen hebt aangepast natuurlijk.


Ik ga dit nog ff checken Mark, zag je berichtje te laat..

Toevoeging op 08/11/2010 16:54:34:

Ik heb het! Die curl_setopt moest er idd nog even boven, anders kan je de html niet saven in $source.
Ben ik weer een heel eind wijzer geworden vandaag.

Thx allemaal! Ik kan weer verder.

Joshua
Gewijzigd op 08/11/2010 16:22:08 door Joshua W
 



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.