WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Krånglig PHP-fråga (https://www.wn.se/forum/showthread.php?t=21208)

webbochsant 2007-05-12 15:13

Jag måste infoga ett formulär till min egna sida från en annan webbplats, vilket jag löst med hjälp av include('formuläret.php').

Formuläret måste inkluderas i designen eftersom det är en helt dynamisk CMS-styrd webbplats.

Problemet är att form-action på den andra server består av relativa länkar (result.php). När jag infogat formuläret och klickar på submit så försöker ju min sida att hitta (result.php) på min egna server, vilket ej existerar.

På den gamla goda(?) frames-tiden så funkade detta hur bra som helst, eftersom head-framen importerade formuläret och dessa relativa länkar fungerade.

Formuläret jag försöker att komma åt går ej att ändra på eftersom det är ett annat företag som tillhandahåller tjänsten.

Kan någon komma på en bra lösning på detta i PHP som importerar formuläret på samma sätt som frames gjorde en gång i tiden?

SimonP 2007-05-12 15:26

Längst ner på din sida kan du lägga till ett javascript där du ändrar action variabeln:
document.formname.action="http://www.denandraservern.se/result.php";
Då kommer den söka efter result.php på rätt sida. Jag har inte provat detta, men det borde funka.

Om det inte finns nått "formname" blir det lite jobbigare.
Problemet går iofs att lösa på andra sätt också, t.ex genom att läsa in forumläret.php med fsockopen och sen ändra action variabeln.

webbochsant 2007-05-12 15:34

Citat:

Originally posted by SimonP@May 12 2007, 15:26
Längst ner på din sida kan du lägga till ett javascript där du ändrar action variabeln:
document.formname.action=http://www.denandraservern.se/result.php;

Jag har testat detta och även att läsa in resultatfilen med file_get_contents() och ändra action, men problemet är att jag bara får upp resultatet som en egen sida.

Jag vill att resultatet skall komma inbakad i min vanliga design.

Kan jag på något sätt inkludera resultatsidan med postvariabler på samma sätt som get-variabler?
typ:
include('result.php?var=1&var=2) fast med postvariabler istället?

najk 2007-05-12 18:28

ta en titt på curl.

webbochsant 2007-05-12 18:43

Citat:

Originally posted by najk@May 12 2007, 18:28
ta en titt på http://www.php.net/curl.


Det verkar vara precis vad jag letat efter.

Tack för hjälpen!

webbochsant 2007-05-13 14:20

Jag hittade en eklare lösning som jag tänkte dela med mig av:

Skapade en iframe och använde formulärsidan som source. Därefter fungerade alla script och annat precis som jag ville.

Danielos 2007-05-14 00:06

Jag brottas med curl och lite andra grejer och skulle inte ens drömma om att använda iframe :D


Alla tider är GMT +2. Klockan är nu 17:50.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson