Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP&MYSQL] Płatność SMS integracja z Formularzem E-MAIL
Forum PHP.pl > Forum > Przedszkole
Reaver
Witam serdecznie,
Napisałem formularz wysyłający email do mnie na konto z danymi podanymi przez użytkownika.
Jednak zależy mi na tym aby ten email wysyłał się po wpisaniu kodu otrzymanego drogą sms.
Tak zwany sms o podwyższonej płatności. Chciałbym aby informacje o kodzie były pobierane z bazy danych i żeby zaraz po użyciu wpisany kod usówał się sam, by nie można było ponownie z niego skorzystać. Utknąłem na tym co przedstawiam poniżej.

  1. <?
  2.  $nazwisko = $HTTP_POST_VARS['nazwisko'];
  3.  $imie = $HTTP_POST_VARS['imie'];
  4.  $nick_forum = $HTTP_POST_VARS['nickforum'];
  5.  $adres_email = $HTTP_POST_VARS['adres'];
  6.  if ($nazwisko == "" AND $imie == "" AND $nick_forum == "" AND $adres_email == ""): 
  7.  ?>
  8.  
  9.  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  10.  <html xmlns="http://www.w3.org/1999/xhtml" lang="en_EN" xml:lang="en_EN">
  11.  <head>
  12.  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  13.  <meta name="Language" content="polish" />
  14.  <meta name="Robots" content="ALL" />
  15.  <title>Formularz Zgłoszeniowy</title>
  16.  </head>
  17.  <body> 
  18.  <div>
  19.  <form action="form.php" method="post"/>
  20.  Nazwisko: <input name="nazwisko" /> 
  21.  
  22.  Imie: <input name="imie" /> 
  23.  
  24.  Nick forum: <input name="nickforum" /> 
  25.  
  26.  Adres E-Mail: <input name="adres" /> 
  27.  
  28.  <input name="dalej" value="Wysyłaj" type="submit" />
  29.  </div>
  30.  </body>
  31.  </html>
  32.  <?
  33.  die();
  34.  endif;
  35.  $dane = "Imie: $imie, Nazwisko: $nazwisko, Nick: $nick_forum, Adres E-Mail: $adres_email";
  36.  mail("xxxxxx@xxxxx.com","Zawartość formularza:",$dane);
  37.  echo "Dane zostały wysłane
  38.  ";
  39.  echo "$dane"
  40.  ?>


Czyli na czystym formularzu wysyłania.

Zasada działania:

Sprawdzanie kodu następuje po stronie partnera serwisu. Partner serwisu pobiera za pomocą systemu XXXXX paczkę kodów wygenerowaną "na zapas" i dodaje ją do swojej bazy. Paczka kodów może zostać pobrana np. w formacie wartości rozdzielonych przecinkami bądź średnikami lub jako zapytania SQL, wstawiającego dane do bazy. Użytkownik po wysłaniu SMSa otrzymuje z systemu XXXXX kod, natomiast partner MobilePay autoryzuje go poprzez swoją bazę. Robi to w sposób dogodny dla siebie. W najprostszym przypadku usuwa kod z bazy uniemożliwiając tym samym powtórne jego użycie. Można też zliczać użycia danego kodu lub liczyć czas od momentu jego pierwszego użycia. Każdy wygenerowany kod jest przypisany do konkretnego numeru premium włączonego dla danego serwisu. Cytat z serwisu.

Spotkałem już tematy dotyczące płatności sms ale w niczym mi one nie pomogły.


Pozdrawiam. I licze na waszą pomoc.


Robię dubla bo inaczej nikt tu nie wejdzie.

Ok więc jestem na takim etapie już. Poczytałem trochę i doszedłem do takiego stanu. Nie wiem gdzie może teraz leżeć mój błąd.


  1. <?
  2. $sql_host = 'localhost';
  3. $sql_base = 'xxxxx';
  4. $sql_user = 'xxxxx';  
  5. $sql_pass = 'xxxxx';
  6. $azwisko = $HTTP_POST_VARS['nazwisko'];
  7. $imie = $HTTP_POST_VARS['imie'];
  8. $nick_forum = $HTTP_POST_VARS['nickforum'];
  9. $adres_email = $HTTP_POST_VARS['adres'];
  10. if ($nazwisko == "" AND $imie == "" AND $nick_forum == "" AND $adres_email == ""):  
  11. ?>
  12.  
  13.  
  14. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  15. <html xmlns="http://www.w3.org/1999/xhtml" lang="en_EN" xml:lang="en_EN">
  16. <head>
  17. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  18. <meta name="Language" content="polish" />
  19. <meta name="Robots" content="ALL" />
  20. <title>Formularz zgłoszeniowy</title>
  21. </head>
  22. <body> 
  23. <div>
  24. <form action="form.php" method="post"/>
  25. Nazwisko: <input type= "text" name="nazwisko" /> <br />
  26. Imie: <input type="text" name="imie" /> <br /> 
  27. Nick forum: <input type="text" name="nickforum" /> <br />
  28. Adres E-Mail: <input type ="text" name="adres" /> <br />
  29. Kod SMS <input type="text" name="sms" /><br />
  30. <input type="submit" name ="next" value="Wysyłaj" /><br />
  31. </div>
  32. </body>
  33. </html>
  34.  
  35. <?
  36. $sql = mysql_connect($sql_host,$sql_user,$sql_pass);
  37. mysql_select_db($sql_base);
  38. $sms = $_POST['sms'];
  39. $query = "SELECT * FROM tabela WHERE pole='$sms';";
  40. $do = mysql_query($query);
  41. if (mysql_num_rows($do)>0)
  42.  
  43. {
  44. //działanie dla ok
  45. $query = "DELETE FROM tabela WHERE pole='$sms';";
  46. $do = mysql_query($query);
  47. $danedowyslania = "Imie: $imie, Nazwisko: $nazwisko, Nick: $nick_forum, Adres E-Mail: $adres_email";
  48. mail("xxxxx@xxxxx.com","Zawartość formularza:",$danedowyslania);
  49. die();
  50. echo "Dane zostały wysłane: <br />";
  51. echo "$danedowyslania";
  52. }
  53. else
  54. {
  55. //działanie dla nie ok
  56. echo "Dane nie zostały wysłane. Podano błedny KOD SMS";
  57. }
  58. ?>



Po wrzuceniu tego na serwer otrzymuję taki komunikat:

Parse error: syntax error, unexpected $end in /home/xxxx/domains/xxxx/public_html/form.php on line 60


Linia 60 jest przecież pusta.
b_chmura
w linii dziesiątej zamiast średnika masz dwu kropek. Poza tym zrób do tego ifa klamerki.
Reaver
Dziękuję serdecznie. Nie widziałem kompletnie tych błędów. Plusik poleciał do Pana. Mam jeszcze kłopot z tym że to co mam w 58 lini wyświetla się po otwarciu formularza. Jednak myślę i mam nadzieję, że jakoś sobie z tym poradzę. Pozdrawiam.
Kicok
Cytat
Mam jeszcze kłopot z tym że to co mam w 58 lini wyświetla się po otwarciu formularza.


To dlatego, że w 10 linii miał być dwukropek. Zapomniałeś za to wstawić endif; w odpowiednim miejscu.
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.