Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Dodanie rekordu - przekierowanie do płatności
boro11
post 25.03.2012, 16:46:24
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

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


Witam!

Mam taki kod:

  1. <?
  2.  
  3. require_once ('../connection.php');
  4. connection();
  5.  
  6. $upgrade = $_GET["upgrade"];
  7. $username = $_GET["username"];
  8. $price = $_GET["price"];
  9. $date = date("Y-m-d");
  10.  
  11. //formularz
  12.  
  13. if (isset($_POST['submit']))
  14. {
  15. $zapytanie = "INSERT INTO test_buyprem ( id, amount, nick, date) VALUES (' ', '$upgrade', '$username', '$date')";
  16. mysql_query($zapytanie) or die(mysql_error());
  17. }
  18.  
  19. ?>


  1. <!DOCTYPE HTML>
  2.  
  3. <script language="javascript" type="text/javascript" src="https://refbackbank.com/adm/niceforms.js"></script>
  4. <link rel="stylesheet" type="text/css" media="all" href="https://refbackbank.com/adm/niceforms-default.css" />
  5.  
  6. <style type="text/css">
  7. p {
  8. font-family: "Trebuchet MS", Arial, sans-serif;
  9. font-size: 10pt;
  10. }
  11. h3 {
  12. font-family: "Trebuchet MS", Arial, sans-serif;
  13. color: #666;
  14. }
  15.  
  16. </style>
  17.  
  18. </head>
  19.  
  20. <body>
  21.  
  22.  
  23.  
  24. <h3>Dear <?if($_SESSION['login'])
  25. {
  26. echo $username;
  27. ?>,</h3>
  28. <p>You are going to upgrade your account to <strong><?=$upgrade;?></strong>, please make sure that you have <strong><?=$price?>$</strong> on payment processor which you want to use to complet your order.</p>
  29. <br />
  30.  
  31. <form action="https://www.paypal.com/cgi-bin/webscr" method="POST" target="_top" style="display:inline;">
  32. <input type="hidden" name="cmd" value="_xclick">
  33. <input type="hidden" name="business" value="adrianos1992@gmail.com">
  34. <input type="hidden" name="lc" value="US">
  35. <input type="hidden" name="item_name" value="<?=$upgrade;?> - <?=$username;?>">
  36. <input type="hidden" name="amount" value="<?=$price;?>.00">
  37. <input type="hidden" name="currency_code" value="USD">
  38. <input type="hidden" name="button_subtype" value="services">
  39. <input type="hidden" name="no_note" value="0">
  40. <input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest">
  41. <input type="image" src="https://refbackbank.com/images/paypal.jpg" border="0" name="submit" id="submit" value="submit" alt="PayPal - The safer, easier way to pay online!">
  42. </form>
  43.  
  44. <form method="post" action="https://www.alertpay.com/PayProcess.aspx" target="_top" style="display:inline;">
  45. <input type="hidden" name="ap_merchant" value="money@refbackbank.com"/>
  46. <input type="hidden" name="ap_purchasetype" value="service"/>
  47. <input type="hidden" name="ap_itemname" value="<?=$upgrade;?> - <?=$username;?>"/>
  48. <input type="hidden" name="ap_amount" value="<?=$price;?>"/>
  49. <input type="hidden" name="ap_currency" value="USD"/>
  50. <input type="image" src="https://refbackbank.com/images/alertpay.jpg"/>
  51. </form>
  52.  
  53. <form action="https://sci.libertyreserve.com/en" method="GET" target="_top" style="display:inline;">
  54. <input type="hidden" name="lr_acc" value="U8279191">
  55. <input type="hidden" name="lr_amnt" value="<?=$price;?>.00">
  56. <input type="hidden" name="lr_currency" value="LRUSD">
  57. <input type="hidden" name="lr_comments" value="<?=$upgrade;?> - <?=$username;?>">
  58. <input type="hidden" name="lr_success_url" value="https://www.refbackbank.com/successfully/">
  59. <input type="hidden" name="lr_success_url_method" value="GET">
  60. <input type="hidden" name="lr_fail_url" value="https://www.refbackbank.com/fail/">
  61. <input type="hidden" name="lr_fail_url_method" value="GET">
  62. <input type="hidden" name="test" value="pass">
  63. <input type="image" src="https://refbackbank.com/images/LibertyReserve.jpg" /></a>
  64. </form>
  65.  
  66. </div>
  67.  
  68. <?
  69. }
  70. else
  71. {
  72. ?>
  73. Guest, </h3>
  74.  
  75. <p>You must login to use this feature.</p>
  76.  
  77. <?
  78. }
  79. ?>
  80. </body>
  81.  
  82. </html>


Wszelka funkcjonalność związana z płatnościami działa, ale nie działa dodawanie do bazy. Podobnej konstrukcji tj:

  1. if (isset($_POST['submit']))
  2. {
  3. $zapytanie = "INSERT INTO test_buyprem ( id, amount, nick, date) VALUES (' ', '$upgrade', '$username', '$date')";
  4. mysql_query($zapytanie) or die(mysql_error());
  5. }



Używam w innej części serwisu i tam działa bez problemu, ale tutaj niestety nie chce.
Czy dzieje się tak dlatego, że wartości przekazywane do bazy mają inne nazwy niż pola w tabeli, czy może dlatego że użyłem $GET zamiast $POST?
Go to the top of the page
+Quote Post
lobopol
post 25.03.2012, 16:57:29
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


zrób sobie die($zapytanie); przed mysql_query i to co się wyświetli wykonaj bezpośrednio w konsoli/phpmyadminie i zobacz czy ci błędów nie sypnie.


--------------------
Go to the top of the page
+Quote Post
boro11
post 25.03.2012, 18:03:05
Post #3





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

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


Nic mi nie wyświetla tylko przekierowuje na strone np. PayPal'a
Go to the top of the page
+Quote Post
Niktoś
post 25.03.2012, 19:01:22
Post #4





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Błąd możesz mieć if (isset($_POST['submit'])).Nie wiem czy dobrze mówie ,ale tablice post wysyłasz w action formularza na jakiś url i tam powinieneś odbierac dane ,a nie na tej samej stronie. Dlatego ten isset_POst chyba nie za działa ,po za tym 3 formularze na jednej stronie ,hmm.

Ten post edytował Niktoś 25.03.2012, 19:02:17
Go to the top of the page
+Quote Post
boro11
post 25.03.2012, 19:09:09
Post #5





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

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


Nie mam możliwości odbierać danych "tam" bo te formularze prowadzą do strony płatności online (PayPal/AlertPay/Liberty Reserve)

Może komuś pomoże jak podam link do strony na której próbuję to zrobić:

https://refbackbank.com/dev/iframe.php

Ewentualnie jest jeszcze możliwość żeby dodawało po dokonaniu płatności bo po udanej transakcji jest przekierowanie na jedną z podstron na mojej stronie, ale nie wiem jak zrobić żeby mi się te dane trzymały - dwie będą bez problemu (obecna data + nazwa użytkownika), ale nie będę miał opcji rozszerzenia konta jaką wybrał. Było by to nawet lepsze bo system mógłby działać automatycznie smile.gif

Ten post edytował boro11 25.03.2012, 19:13:39
Go to the top of the page
+Quote Post
Niktoś
post 25.03.2012, 19:14:32
Post #6





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Ja to widzę tak,żebyś pousuwał action formularza i po kliknięci w submit i wykonaniu tego kodu
if (isset($_POST['submit']))
{
$zapytanie = "INSERT INTO test_buyprem ( id, amount, nick, date) VALUES (' ', '$upgrade', '$username', '$date')";
mysql_query($zapytanie) or die(mysql_error());
}
manualnie odsyłał użytkownika na wybraną stronę poprzez header(location:"");
Go to the top of the page
+Quote Post
lobopol
post 25.03.2012, 19:16:28
Post #7





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Skoro nic ci nie wyświetla oznacza to, że formularz nie jest odbierany. Formularz kierujesz na paypala, a nie na własną stronę. W ten sposób nie jesteś w stanie tego odebrać, bo niby jakbyś chciał odczytać formularz wysyłany na inną stronę u siebie? Płatność powinieneś dodawać do bazy dopiero w momencie otrzymania informacji zwrotnej (zerknij w api paypala).


--------------------
Go to the top of the page
+Quote Post
boro11
post 25.03.2012, 19:28:46
Post #8





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

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


Próbowałem Twoją radę wykorzystać, ale teraz działa dodawanie do bazy ale nie działają płatności. Ten link jest "lipny" i wcale nie jest prawdziwym celem formularza więc header z takim przekierowaniem nie wchodzi w grę. Link prawidłowy jest generowany dynamicznie więc nie idzie go ustawić.
Go to the top of the page
+Quote Post
Niktoś
post 25.03.2012, 19:35:49
Post #9





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Po sobie musisz zbudować linka a później wysłać.Może zajrzyj do instrukcji/manuali tych systemów płatności tak jak @lobopol Tobie powiedział.
Go to the top of the page
+Quote Post
boro11
post 26.03.2012, 20:12:52
Post #10





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

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


Tylko jest taki problem, że nie mam rozszerzonego konta na PayPal'u i opcje IPN/API są dla mnie nie dostępne, więc muszę to jakoś obejść smile.gif

Przepraszam za podbicie, ale wpadłem na pomysł żeby wysyłać te dane do bazy przy zaznaczeni checkbox'a którego bym dodał - jest to wykonalne?
Go to the top of the page
+Quote Post
CuteOne
post 26.03.2012, 22:36:49
Post #11





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


1. Wysyłasz dane na własną stronę - tak jak ci doradzili
2. Walidujesz, zapisujesz do bazy
3. Jeżeli jest wszystko oki wysyłasz np. za pomocą cURL'a dane do paypala
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 03:10