DannyM
19.03.2010, 12:05:59
Mam proste jak sadze pytanie.
Wysylam zapytanie do serwera postem i dostaje zwrotna informacje np. 58258776527825147001
nic wiecej nie ma. Czysta strona i ten numer. Jak to przechwycic do zmiennej?
kipero
19.03.2010, 15:00:23
Przejrzyj:
file_get_contents, ewentualnie zabawa z CURLem.
DannyM
31.03.2010, 14:23:18
Probowalem file_get_contents ale to nie przejdzie. Chyba, ze mi nie wychodzi.
Czy jest jakis inny sposob?
Moze wyjasnie dokladniej.
Po wyslaniu postem ten numer pokazuje sie nie w adresie tylko na stronie.
AdamAdax
31.03.2010, 14:53:41
Jeżeli nie przechodzi file_get_contents albo fopen w połączeniu z fread to sprawdź czy nie masz wyłączonej dyrektywy
allow_url_fopen w pliku konfiguracyjnym php.
DannyM
31.03.2010, 15:00:01
allow_url_fopen = On
AdamAdax
31.03.2010, 15:06:06
A w jaki sposób przesyłasz dane postem? Wysyłasz formularz z określonym "action" ? Jeżeli tak to nie masz opcji zwrotu informacji. Adres na który wysyłasz dane musiałby potem wysłać informację pod wskazany przez Ciebie adres i wtedy masz możliwość odbioru informacji.
DannyM
31.03.2010, 15:15:08
Wysylam
<form id="form1" name="form1" method="post" action="https://....."> <input name="orderNumber" type="text" id="orderNumber" value="111" /> <input type="submit" name="button" id="button" value="Submit" />
AdamAdax
31.03.2010, 15:37:29
No właśnie,
Więc użytkownik zatwierdzając formularz zostanie przekierowany na podany w atrybucie "action" adres.
Adres pod który jest wysyłany formularz powinien przetworzyć formularz i zwrócić jakąś informację z powrotem. Powinien przekierować na adres podany przez Ciebie i np w zmiennej GET przesłać informację czy się powiodło. Niezbędne jest również rozpoznanie dla którego formularza zostaje nadesłana odpowiedź.
Powszechnym rozwiązaniem jest umieszczenie w formularzu w polu hidden jakiegoś tokena unikalnego który zostanie przesłany na adres razem z normalnym danymi formularza. Ty również go przechowasz u siebie.
Docelowy adres powinien zwrócić ten token z powrotem i ty porównując ten token z GET'a ze swoim zapisanym np. w pliku będziesz mógł rozpoznać dla którego formularza wysyłana jest odpowiedź.
Tak są realizowane płatności on-line, oczywiście przy wsparciu mechanizmu SSL.
DannyM
31.03.2010, 15:46:57
rozumiem Cie ale nie mam wplywu na tamta strone. Moge tylko wyslac i przechwycic to co mi daja.
AdamAdax
31.03.2010, 15:54:39
To spróbuj wysłać formularz cURL'em.
Tutaj prosty tutorial jak użyć cURL'a
cURL with PHP
#luq
31.03.2010, 21:00:55
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.