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
phpamator
post
Post #2





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

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


Tak to miałem na myśli $_REQUEST['payment_status'] i value = 'Completed'.
Jeśli taką wartość zanotuje w odpowiedzi od serwera dokona zmian w bazie i zamknię zamówienie.

Tylko tego nie wiem, jak z poziomu skryptu PHP odpowiedzieć.


Poniżej fragment który ma odebrać odpowiedź.

  1. // Jeśli "Completed" zamykam zamówienie i wysyłam emaila z powiadomieniem.
  2. if ($_REQUEST && isset($_REQUEST['payment_status'])) {
  3. require_once '../../../config/dbConfig.php';
  4. require_once '../../../config/config.php';
  5. $idOrder=(isset($_REQUEST["item_number"]) ? $_REQUEST["item_number"] : '');
  6. $strPaymentStatus=(isset($_REQUEST['payment_status']) ? $_REQUEST['payment_status'] : '');
  7. $strStatus=($strPaymentStatus=='Completed' ? 'OK' : '');
  8. $strPaymentAuthorisation=(isset($_REQUEST['verify_sign']) ? $_REQUEST['verify_sign'] : '');
  9. $strPaymentID=(isset($_REQUEST['txn_id']) ? $_REQUEST['txn_id'] : '');
  10. $strEmail=(isset($_REQUEST['payer_email']) ? $_REQUEST['payer_email'] : '');
  11. $strUpdate = "UPDATE shop_order SET payment_type = 'paypal' WHERE order_id = '$idOrder'"
  12. $strSQL = "UPDATE tblOrder ";
  13. if ($strPaymentStatus!='') $strSQL.=(strpos($strSQL,' SET ')===false ? 'SET ' : ', ')."strPaymentStatus='".mysql_real_escape_string($strStatus) . "'";
  14. if ($strPaymentAuthorisation!='') $strSQL.=(strpos($strSQL,' SET ')===false ? 'SET ' : ', ')."strPaymentAuthorisation='".mysql_real_escape_string($strPaymentAuthorisation) . "'";
  15. if ($strPaymentID!='') $strSQL.=(strpos($strSQL,' SET ')===false ? 'SET ' : ', ')."strPaymentPayerStatus='".mysql_real_escape_string($strPaymentID) . "'";
  16. $strSQL.=" WHERE idOrder=$idOrder";
  17.  
  18. mysql_query($strSQL);
  19.  
  20. if ($strStatus=="OK") {
  21. $strSubject = "PADS Order Placed";
  22. $strSQL="SELECT * FROM tblOrderSupplier LEFT JOIN tblSupplier USING (idSupplier) WHERE idOrder='$idOrder'"; # Notify Supplier(s)
  23. $objRS = mysql_query($strSQL);
  24. while ($objRow=mysql_fetch_array($objRS)) {
  25. $strHeaders = "From: PADS Ltd <no-reply@pads.cor>\nContent-Type: text/html\n";
  26. $strMessage = "<html><body><img src=\"$website/images/emailheader.jpg\" /><table>\r\n";
  27. $strMessage .= "<tr><td><p style='font-family: Arial'>Hello " . $objRow['strCompanyName'] . "</p>\r\n<br />\r\n";
  28. $strMessage .= "<tr><td><p style='font-family: Arial'>An order has been created via PADS Ltd, please login for more information.</p>\r\n";
  29. $strMessage .= "</td></tr></table></body></html>";
  30. #mail($objRow['strCompanyEmail'], $strSubject, $strMessage, $strHeaders);
  31. mail('enquiries@pads.cor', $strSubject, $strMessage, $strHeaders);
  32. }
  33. sendConfirmationEmail($idOrder);
  34. } else {
  35. echo '<br/>No email sent!';
  36. }
  37. } else {
  38. echo '<br/>Nothing to do!<hr>';
  39. }


Ten post edytował PHPRexio 5.11.2016, 21:24:32
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: 11.10.2025 - 18:13