Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/płatności] SMS Premium, rejestracja i PHP, jak to połączyć?
ChriS-21
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.05.2007

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


Witam. Utworzyłem temat na innym forum, ale tam mało kto zajmuje się tematyką PHP. Także jeśli ktoś chce zobaczyć pełny problem to zapraszam to klikania:
http://forum.dvhk.pl/showthread.php?t=153086

Natomiast w skrócie (jeśli komuś nie chce się rejestrować):

Prowadzę stronę www i chcę wprowadzić jednorazową opłatę za rejestrację(7zł)tak jak na przykładzie:



i żeby po rejestracji dało się normalnie logować, beż żadnych już opłat.

Bardzo proszę o pomoc jeśli ktoś się na tym zna. Serwis AllPay wyraził już zgodę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
Sabistik
post
Post #2


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


Temat zamykam z powodu złamania regulaminu forum. Proszę o przesłanie na PW złamanego punktu oraz propozycje poprawy. Do tego czasu temat zostaje zamknięty.

Otwieram.
Go to the top of the page
+Quote Post
ChriS-21
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.05.2007

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


Odświeżam temat. Proszę o wszelkie pomocne odpowiedzi.
Go to the top of the page
+Quote Post
webdice
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




No to w czym problem? Sprawdzasz czy kod SMS jest poprawny jeśli tak to rejestrujesz użytkownika, a jeśli nie kończysz rejestracje.
Go to the top of the page
+Quote Post
ChriS-21
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.05.2007

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


Cytat(webdicepl @ 15.05.2007, 12:48:04 ) *
No to w czym problem? Sprawdzasz czy kod SMS jest poprawny jeśli tak to rejestrujesz użytkownika, a jeśli nie kończysz rejestracje.

Chodzi mi o to jaki powinien być kod php lub html żeby to wszystko działało?
Go to the top of the page
+Quote Post
Hekko
post
Post #6





Grupa: Zarejestrowani
Postów: 255
Pomógł: 23
Dołączył: 1.12.2003

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


Opisz dokładnie problem bo ciężko coś wywnioskować ale jeśli chcesz uruchomić płatności to na przykładzie Allpay.pl
1. Rejestrujesz usługę.
2. Dodajesz coś takiego jak na załączonym przez Ciebie obrazku.
3. Pobierasz listę kodów z danej usługi z Allpay i wrzucasz ją do bazy mysql.
4. Do punktu 2 przy sprawdzaniu formularza dodajesz sprawdzenie kodu z bazą czy nie jest już wykorzystany, jeśli wykorzystany: echo "spadaj"; a w przeciwnym razie sprawdzasz pozostałe elementy formularza.

Ten post edytował Hekko 16.05.2007, 20:09:05


--------------------
Tani hosting - Hekko.pl | PHP 5.2/5.3/5.4/5.5/5.6 | MySQL 5.5 |
Hosting już od 49 zł rocznie! Domena pl do każdego pakietu!
Go to the top of the page
+Quote Post
KolegS
post
Post #7





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 17.04.2007
Skąd: Toruń

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


no ja nie wiem w czym jest problem wszedłem sobie na stronę która jest podana www.allpay.pl i czytam
Cytat
Zasada działania: osoba wysyłająca wiadomość SMS typu Premium na wskazany numer i o określonej treści zawierającej nazwę usługi zwrotnie otrzymuje 8 lub 16 znakowy kod dostępu.

Przykład: Użytkownik telefonu komórkowego chce uzyskać dostęp do płatnej części serwisu www. Po wysłaniu wiadomości sms na numer 7168 o treści AP.SERWIS zwrotnie otrzymuje kod dostępu 123456. Po wpisaniu kodu na stronie www otrzymuje dostęp do serwisu na ustalony okres czasu.

z tego tekstu wnioskuję że pracownicy strony allpay.pl robią wszystko za ciebie twój skrypt tylko ustala generowany losowo kodzik i dodaje go do bazy danych a przy rejestracji prosi o podanie go a potem usuwa
Go to the top of the page
+Quote Post
Hekko
post
Post #8





Grupa: Zarejestrowani
Postów: 255
Pomógł: 23
Dołączył: 1.12.2003

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


Cytat(KolegS @ 16.05.2007, 21:16:18 ) *
z tego tekstu wnioskuję że pracownicy strony allpay.pl robią wszystko za ciebie twój skrypt tylko ustala generowany losowo kodzik i dodaje go do bazy danych a przy rejestracji prosi o podanie go a potem usuwa


Nie robią za Ciebie nic - dają Ci tylko bazę kodów a to już Twój problem aby wykorzystać ją w swoim skrypcie. Ten sposób można dwojako wykorzystać:
1) Dostęp jednokrotny - gość wpisuje otrzymany kod -> skrypt sprawdza w bazie czy istnieje, jeśli istnieje to przepuszcza gościa dalej (mp rejestracja w serwisie) i kasuje kod z bazy
2) Dostęp wielokrotny czasowy - gość wpisuje otrzymany kod pierwszy raz, skrypt sprawdza w bazie czy istnieje, jeśli tak i jeśli nie był jeszcze wykorzystany to ustawia mu datę wpisania i od tego czasu jest ważny x dni dostęp. Przy kolejnych wpisaniach kodu tego skrypt sprawdza czy kod istnieje i czy nie przekroczył deadline, jeśli nie -> gość wchodzi dalej, jeśli tak -> Spadaj i wykup nowy kod.

I to wszystko dzieje się w bazie klienta nie usługodawcy.


--------------------
Tani hosting - Hekko.pl | PHP 5.2/5.3/5.4/5.5/5.6 | MySQL 5.5 |
Hosting już od 49 zł rocznie! Domena pl do każdego pakietu!
Go to the top of the page
+Quote Post
ChriS-21
post
Post #9





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.05.2007

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


Ja wybrałem opcję automatycznego generowania kodu i, jeśli się już zużyje, dopisywania go do bazy jako wykorzystany. Wszystko zrobiłem tak jak trzeba z TEGO poradnika i wyskakuje mi taki błąd:





Z góry zaznaczam że jestem zielony w PHP, dlatego proszę o jak najdokładniejszą pomoc. Wszystko robię z tutorialami.
Go to the top of the page
+Quote Post
www0_0
post
Post #10





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

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


Przewal session_start()" title="Zobacz w manualu PHP" target="_manualNa sam początek pliku zaraz za znakiem <? i dopilnuj aby przedtem serwer nie wysłał nic do przeglądarki i powinno być wszystko oki.
Go to the top of the page
+Quote Post
ChriS-21
post
Post #11





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.05.2007

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


Cytat(www0_0 @ 17.05.2007, 07:17:36 ) *
Przewal session_start()" title="Zobacz w manualu PHP" target="_manualNa sam początek pliku zaraz za znakiem <? i dopilnuj aby przedtem serwer nie wysłał nic do przeglądarki i powinno być wszystko oki.

Po tej operacji:



nie ma nic, puste okno przeglądarki
Go to the top of the page
+Quote Post
Kicok
post
Post #12





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Może zmienne $login, $haslo, $haslo2 itp masz puste. Poczytaj sobie na googlach o register_globals
Z resztą jeśli to jest cała treść pliku php, który wywołujesz, to nawet jakby zmienne $logi, $haslo nie były puste i warunek byłby spełniony, to w oknie przeglądarki nic ci się nie wyświetli. Nie zapomniałeś czasem o:
  1. <?php
  2.  
  3. echo( $wynik );
  4.  
  5. ?>





PS. Kopiuj kod PHP i wstawiaj na forum w tagach [ php ] KOD [ /php ], zamiast wklejać jakieś screeny ;]

Ten post edytował Kicok 17.05.2007, 12:28:09


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
ChriS-21
post
Post #13





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.05.2007

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


Dobra, całość, żeby już nie mieszać:

- poradnik: TU
- pliki:

baza - dane.sql
-----------------
  1. CREATE TABLE `users` (
  2. `nr` int(20) NOT NULL AUTO_INCREMENT,
  3. `login` varchar(20) NOT NULL DEFAULT '',
  4. `haslo` varchar(20) NOT NULL DEFAULT '',
  5. `haslo2` varchar(20) NOT NULL DEFAULT '',
  6. `email` varchar(20) NOT NULL DEFAULT '',
  7. `sms` varchar(10) NOT NULL DEFAULT '',
  8. PRIMARY KEY (`nr`)
  9. ) TYPE=MyISAM AUTO_INCREMENT=33 ;



funkcje.php
------------------
  1. <?php
  2.  
  3. function pol_mysql()
  4. {
  5.  
  6.  
  7. //ustawiamy teraz dane naszej bazy
  8. $db_host = 'localhost';
  9. $db_user = '********';
  10. $db_pass = '********';
  11. $db_name = 'dane';
  12.  
  13. //ustawiamy polączenie z bazą danych
  14. $lacz = mysql_pconnect($db_host, $db_user, $db_pass);
  15. if(!$lacz)
  16. {
  17.  echo "Wystąpił błąd: Połączenie z bazą nie powiodło się.";
  18.  exit; }
  19.  
  20. //wybieramy bazę
  21. if(!@mysql_select_db($db_name, $lacz)) {
  22. echo '<b>Baza danych chwilowo niedostepna. Przepraszamy.</b>';
  23. exit;  }
  24.  
  25. }
  26.  
  27. function wynik_db_do_tablicy($wynik)
  28. {
  29. $tablica_wyn=array();
  30.  
  31. for($licznik=0; $rzad=@mysql_fetch_array($wynik); $licznik++)
  32. $tablica_wyn[$licznik]=$rzad;
  33.  
  34. return $tablica_wyn;
  35. }
  36.  
  37. function html_url($url, $nazwa)
  38. {
  39. // wyświetlenie URL-a jako łącza
  40. ?>
  41. <P align="center">
  42. <a href="<?=$url?>"><?=$nazwa?></a>
  43. </P>
  44. <?
  45. }
  46.  
  47. //wyswietla nam pole do zalogowania się, bądź rejestracji ;)
  48. function wy_form_logo()
  49. {
  50. ?>
  51. <form method=post action="users.php?m=log">
  52. <TABLE ALIGN="center">
  53.  <tr>
  54.  <td><b>Login:</b></td>
  55.  <td><input type=text name="login" size="25"></td>
  56.  <td><b>Hasło:</b></td>
  57.  <td><INPUT type=password name="haslo" size="25"></td>
  58.  <td><b>Powtórz hasło:</b></td>
  59.  <td><INPUT type=password name="haslo2" size="25"></td>
  60.  <td><b>E-mail:</b></td>
  61.  <td><INPUT type=text name="email" size="25"></td>
  62.  <td><b>Kod dostępu SMS:</b></td>
  63.  <td><INPUT type=text name="sms" size="25"></td>
  64.  <td align=center colspan=2>
  65.  <INPUT TYPE="SUBMIT" VALUE="Zaloguj"></td>
  66.  <td><a href="users.php?m=rejestracja">Zatwierdź</a></td>
  67.  </tr>
  68. </table></form>
  69.  
  70. <?
  71. }
  72. // formularz rejestracji
  73. function dodaj_form()
  74. {
  75. ?>
  76. <form method=post action="rejestracja.php">
  77. <TABLE ALIGN="center">
  78.  <tr>
  79.  <td colspan=2><H1>REJESTRACJA</H1><TD></TD></td>
  80.  <tr>
  81.  <td>Login:</td>
  82.  <td><input type=text name="login"></td></tr>
  83.  <tr>
  84.  <td>Hasło:</td>
  85.  <td><input type=password name="haslo"></td></tr>
  86.  <tr>
  87.  <td>Powtórz hasło:</td>
  88.  <td><input type=password name="haslo2"></td></tr>
  89.  <tr>
  90.  <td>E-mail:</td>
  91.  <td><input type=text name="email" value=""></td></tr>
  92.  <tr>
  93.  <td>Kod dostępu SMS:</td>
  94.  <td><input type=text name="sms"></td></tr>
  95.  
  96.  <tr>
  97.  <td align=center colspan=2>
  98.  <input type=submit value="Zapisz"></td></TABLE></form>
  99. <?
  100. html_url("sms.php", "Logowanie");
  101. }
  102. //dodajemy użytkownika do bazy danych
  103. function dodaj_usera($login, $haslo, $haslo2, $email, $sms)
  104. {
  105. if ($haslo != $haslo2)
  106. {
  107. echo "<H3 ALIGN=center>Hasła nie są takie same.</h3>";
  108. dodaj_form();
  109. }
  110. $polaczenie= pol_mysql();
  111. // sprawdzenie, czy login nie powtarza się
  112. $wynik = mysql_query("select * from users where login='$login'");
  113. if(!$wynik)
  114. return "Problem: zapytanie z bazy nieudane";
  115. if (mysql_num_rows($wynik)>0)
  116. {
  117. echo "<H3 ALIGN=center>Użytkownik o takiej nazwie już istnieje, spróbuj inny login</h3>";
  118. dodaj_form();
  119. }
  120. $czas = date("j-m-Y-G:i:s");
  121. // umieszczenie usera w bazie danych
  122. $zapytanie = "insert into users values
  123.  ('', '$login', '$haslo', '$haslo2', '$email', $sms')";
  124. $wynik=mysql_query($zapytanie);
  125. if($wynik)
  126. {
  127. echo "<H3 ALIGN=center>Rejestracja zakończona pomyœlnie</h3>";
  128. echo "<H4 ALIGN=center><a href='sms.php'>Strona logowania</a></h4>";
  129. }
  130. return true;
  131. }
  132.  
  133. function logowanie($login, $haslo)
  134. {
  135. $polaczenie= pol_mysql();
  136. // sprawdzenie, czy login nie powtarza się
  137. $wynik = mysql_query("select * from users where login='$login'");
  138. if(!$wynik)
  139. return "Problem: zapytanie z bazy nieudane";
  140. if (mysql_num_rows($wynik)== 0)
  141. {
  142. echo "<H3 ALIGN=center>Niema takiego użytkownika w bazie danych</h3>";
  143. wy_form_logo();
  144. }
  145. $tab_user = wynik_db_do_tablicy($wynik);
  146. if ($tab_user[0]['haslo'] != $haslo)
  147. {
  148. echo "<H3 ALIGN=center>Niepoprawne hasło</h3>";
  149. wy_form_logo();
  150. }
  151.  $user = $login;
  152.  //rejestrowanie danych sesji
  153.  session_register("user");
  154.  echo "zalogowany jako: <b>" .$user."</b><br>";
  155.  echo "<a href=index2.html>Szybkich transferów!</a>";
  156.  
  157. }
  158. ?>



sms.php (w tutorialu "index.php")
----------------
  1. <?
  2. //wczytanie pliku z funkcjami
  3. require_once ("funkcje.php");
  4. //rozpoczęcie sesji
  5. //kod PHP
  6.  
  7. if ($login && $haslo && $haslo2 && $email && $sms)
  8. $wynik = dodaj_usera($login, $haslo, $haslo2, $email, $sms);
  9. else
  10. ?>



users.php (w tutorialu "uzytkownicy.php")
----------------
  1. <?
  2. //wczytanie pliku z funkcjami
  3. require_once ("funkcje.php");
  4. //rozpoczęcie sesji
  5. //kod PHP
  6. if ($_GET['m'] == 'rejestracja')
  7. dodaj_form();
  8. if ($_GET['m'] == 'log')
  9. logowanie($login, $haslo);
  10. ?>



wyloguj.php
----------------
  1. <?
  2. //wczytanie pliku z funkcjami
  3. require_once ("funkcje.php");
  4. //sprawdzenie użytkownika za pomocą sesji i ewentualne jej wyrejestrowanie.
  5. if (session_is_registered("user"))
  6. {
  7. echo "<H3 ALIGN=center>Zostałeśœ wylogowany!</h3>";
  8. html_url("sms.php", "Logowanie");
  9. }
  10. else
  11. {
  12. echo "<H3 ALIGN=center>Nie byłeśœ zalogowany!</h3>";
  13. html_url("sms.php", "Logowanie");
  14. }
  15. //zakończenie wyrejestrowania
  16. ?>


I co z tym zrobić?? Na samym początku wywoływany jest plik sms.php
-----------------
Odświeżam temat i proszę o pomoc

Ten post edytował ChriS-21 21.05.2007, 00:51:54
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 Aktualny czas: 22.08.2025 - 01:02