Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/płatności] SMS Premium, rejestracja i PHP
Forum PHP.pl > Forum > Przedszkole
ChriS-21
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ę.
Sabistik
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.
ChriS-21
Odświeżam temat. Proszę o wszelkie pomocne odpowiedzi.
webdice
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.
ChriS-21
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?
Hekko
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.
KolegS
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
Hekko
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.
ChriS-21
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.
www0_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.
ChriS-21
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
Kicok
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 ;]
ChriS-21
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
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.