Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]odsyłanie danych w odpowiedzi na request - jak ?
phpamator
post
Post #1





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


Hello ludziki ....... zielone(początkujący).

(IMG:style_emoticons/default/smile.gif)

Podpowiedzcie, jak z poziomu php to zrobić ..... otóż ze strony wysyłam POST'em pewne dane, odbieram je i robię odpowiednie operacje (zapisuje do bazy, generuję odpowiedz) następnie chciałbym odpowiednio spreparowane dane odesłać celem dalszego przetworzenia (IMG:style_emoticons/default/wink.gif)
Ależ zagadkowo piszę ..... (IMG:style_emoticons/default/smile.gif) generalnie chodzi o to, że buduję sobie płatność paypal'em (wiem że są gotowe rozwiązania ale ja chciałbym sam!) i te przygotowane dane muszę odesłać spowrotem do sklepu. Znalazłem trochę na ten temat i skomponowałem coś takiego ale za "chube" nie chce mi to wysyłac pod wskazany adres (IMG:style_emoticons/default/sad.gif)
  1. $url = 'http://www.myshop.net/application/public/classes/paypal.php';
  2. $resp = respconn();
  3. echo 'Connecting ...<br/>';
  4. $user = "INSERT INTO paypal_responses.users (fname,lname,email,status_id,order_id) VALUES ('".$_POST['fname']."','".$_POST['lname']."','".$_POST['email']."','Completed','".$_POST['order_id']."')";
  5. echo '<br/>'.$user.'<br/>';
  6. //print_r($resp);
  7. if(mysqli_query($resp,$user)) {
  8. echo '<br/>Connected!<br/>';
  9. echo 'Query executed!<br/>';
  10. echo "User successfully registered!<br/>";
  11. mysqli_close();
  12. } else {
  13. echo "Problem with user registration!<br/>";
  14. }
  15.  
  16. $order = "SELECT * FROM paypal_responses.users WHERE email = '".$_POST['email']."' LIMIT 1";
  17. echo '<br/>==================== ORDER PROCESSING ====================<br/>';
  18. $data = mysqli_fetch_array(mysqli_query($resp,$order));
  19. echo $data;
  20. echo '<br/>'.$order.'<br/>';
  21. // do tego momentu działa .... dalej już nic się nie dzieje .....
  22. $options = array(
  23. 'http' => array(
  24. 'header' => "Content-type: application/x-www-form-urlencoded\r\n",
  25. 'method' => 'POST',
  26. 'content' => http_build_query($data)
  27. )
  28. );
  29. // $options daje array(1) { 'http' => array(3) { 'header' => string(49) "Content-type: application/x-www-form-urlencoded " 'method' => string(4) "POST" 'content' => string(106) "user_id=10&fname=Roma&lname=Atch&email=juliaking%40gmail.com&status_id=Completed&order_id=43953" } }
  30. // czyli to co chcę wysłać
  31. $context = stream_context_create($options);
  32. $result = file_get_contents($url, false, $context);
  33. if ($result === FALSE) {
  34. echo 'Can`t send data!<br/>';
  35. }


Co skopałem ?

  1. # a tu inny przykład
  2. $options = array('http' =>
  3. 'method' => 'POST',
  4. 'header' => 'Content-type: application/x-www-form-urlencoded',
  5. 'content' => $postString
  6. )
  7. );
  8. # tworzyny context
  9. $context = stream_context_create($options);
  10. $result = file_get_contents($url, false, $context);


i czym to się różni od mojej formy ?
Jak to zrobić ?

Ten post edytował PHPRexio 4.11.2016, 17:53:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Jesteś pewien, że PayPal nie ma prawdziwego trybu testowego? Osobiście nie wiem, bo się nie bawiłem API PayPala.

Ale jeśli chciałbyś coś takiego totalnie zasymulować, to powinno to działać tak:

  1. Wysyłasz formularz lub robisz Ajaxowy request do "zewnętrznego" API, które możesz trzymać równie dobrze u siebie. Te zewnętrzne API wiedzą gdzie przekierować po całej akcji. Wiedzą to albo po tokenie, albo podajesz im bezpośrednio Redirect URL na który ma przejść po całej akcji.
  2. API robi swoje, przyjmuje płatność i przekierowuje na wspomniany przed chwilą Redirect URL, wysyłając Ci przy okazji jakieś dane.
  3. Jesteś znowu "u siebie", ale z dodatkowymi danymi. Robisz z nimi co chcesz, a przy okazji załatwiasz swoje sprawy, jak np. czyszczenie koszyka.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 09:55