Potřeboval bych přesměrovat přes header na jinou stránku a zároveň tam POSTem poslat nějaká data (trochu textu z jednoho formuláře). Protože jde o externí aplikaci, GET použít nemůžu.
Šlo by to asi javascriptem (jakejsi automatickej mezikrok), ale to se mi nezdá jako dobrej nápad, to by mě byl milejší už normální mezikrok s proklikem. (kterej se ale právě snažím obejít přes PHP)
Díky...
Tak přesně pro tohle využití v php existují sockety..
fsockopen() - php.net/fsockopen
socket_create() - php.net/socket_create (a další)
Jenže tyto funkce (kompletně socketové funkce - funkce otevírající serverové spojení jinam) jsou na wz zakázány, takže tady s tím moc nepochopíš..
nemám to pro použití na wz.
nohu se zeptat jak to přesněji funguje?
ale ještě aby bylo dobře rozuměno, na ten druhý externí server přístup nemám, jenom tam potřebuju uživatele přesměrovat a POSTnout nějaká data. zasahovat tam nemohu.
javascript - pri odeslani formulare zmenit url v action a formular odeslat. Nevyhoda: bez JS se to posila na starou URL a druha, v JS mas ulozenou URL, takze skryti se nezdari.
javascript - pridat iframe (ajax) a do nej dat formular, odeslat, nevyhody viz 1
javascript - ajax, odeslat to na pozadi, nevyhody viz 1
php - cz.php.net/header
nastavis header tak, ze se jedna o odeslanou post stranku? Nezkousel jsem.
php / iframe
muzes proste bud pri zobrazeni stranky nebo pri zpracovani tu druhou includovat nebo vlozit pres iframe a javascriptem vyvolat odeslani
Take muzes prohlednout jejich formular a doslova zkopirovat. Neni treba pak nic resit. Post bude stejny. Jenom navratova stranka bude jejich.
Kazdopadne tohle opet umi resit javascript, treba Ajax, ktery to tam proste posle a nebude zadat nic pro navrat. Pripadne to javascriptem presunout do iframu skryteho jako width=0 height=0 . Ze se neco bude chtit zpetne zobrazit? No a? Vzdyt ma sirku 0 :)
At uz delas, co delas, zakladni nevyhoda toho je, ze v pripade chyby a selhani pri odeslani se z te jejich stranky nevrati chybove hlaseni. Coz je si myslim dost problem.
=Marcus Flintus=
Fsockopen funguje jednoduše - vytvoří spojení a pak už jen stačí odeslat potřebná data, uživateli vrátíš to, co ti vrátí ten "vzdálený" server..
http://cz2.php.net/fsockopen
http://www.kasman.sk/fsockopen
případně se podívej přímo na obdobné řešení.. http://hungrycoder.xenexbd.com/cs/node/673/comment-page-1/
Přesné řešení ti ale nikdo nenabídne - hodně totiž záleží na tom, čeho se snažíš docílit (jestli má i zárověň dojít k přesměrování na tu vybranou stránku, jestli se má pouze provést uložení formuláře atd..).
=peta=
Jako (téměř) vždy, opět mimo téma..
Freeze (dreamer.kvalitne.cz)
? K fsocket bylo receno vse, je to v manualu. Tak jsem rozebral dalsi moznosti, jak resit jeho problem s odesilani ciziho formulare a je to v podstate neresitelne, pokud chce navratovou stranku svou vlastni.