Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zwrotna informacja
Forum PHP.pl > Forum > Przedszkole
DannyM
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
Przejrzyj: file_get_contents, ewentualnie zabawa z CURLem.
DannyM
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
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
allow_url_fopen = On
AdamAdax
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
Wysylam

  1. <form id="form1" name="form1" method="post" action="https://.....">
  2. <input name="orderNumber" type="text" id="orderNumber" value="111" />
  3. <input type="submit" name="button" id="button" value="Submit" />
  4. </form>

AdamAdax
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
rozumiem Cie ale nie mam wplywu na tamta strone. Moge tylko wyslac i przechwycic to co mi daja.
AdamAdax
To spróbuj wysłać formularz cURL'em.
Tutaj prosty tutorial jak użyć cURL'a cURL with PHP
#luq
Inna opcja to sockety winksmiley.jpg
http://pl2.php.net/manual/en/function.fsockopen.php
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.