Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt obsługi kodów SMS z DotPay.pl
Forum PHP.pl > Forum > PHP
debian
Witam, wygenerowałem w dotpay.pl listę 500 kodów sms. Chciałbym prosić Was o pomoc w stworzeniu skryptu który będzie sprawdzał i porównywał kod otrzymany SMSem z tymi w bazie. Jeśli w bazie owy kod się znajdzie to skrypt dopuszczą użytkownika do strony main.php i kasuje wykorzystany kod z bazy.

To jest ich skrypt który sprawdza kod na ich serwerze. Nie działa mi to więc postanowiłem że poproszę Was o pomoc w stworzeniu własnego. Aha i chciałem jeszcze tak zrobić że gdy zostanie wywołany plik main.php bez podania kodu sms to zostanie wysiwetlony komunikat ze kod wygasł. Tak jak to jest w ich skrypcie. W pliku main.php includuje na górze sprawdzacz.php i właśnie tak działa na podstawie ciasteczek.
  1. <?php
  2. $id = ;              # numer ID zarejestrowanego klienta
  3. $code = "";        # identyfikator usług SMS
  4. $type = "sms";          # typ konta: C1 - 8 znakowy kod bezobsługowy
  5.                        # typ konta: sms dla sprawdzania SMSow
  6. $page = "main.php";    # nazwa pliku jaki ma sie zaladowac po podaniu poprawnego kodu
  7.  
  8.  
  9. # gdy sprawdzane będą zarówno konta smsowe jak i konta przy płatnościach kartą
  10. # to należy wtedy użyć zapisu:
  11. # $type = "c1,sms";
  12.  
  13. #
  14. # przy sprawdzaniu kilku kont o różnych identyfikatorach należy użyć zapisu:
  15. # $code = "abcd1,abcd2,kody2,kody6";
  16.  
  17. $del=0;   # jeżeli kod ma być skasowany od razu po sprawdzeniu to ustaw wartość na 1
  18. ################################################################################
  19.  
  20. $check = $_POST['check']; # podany kod na stronie gdzie wejście jest płatne i wymagany jest zakupiony kod
  21. if($check == NULL)
  22.  exit("Prosze wpisac kod");
  23.  
  24.  
  25.    $handle = fopen("http://dotpay.pl/check_code.php?id=".$id."&code=".$code."&check=".$check."&type=".$type."&del=".$del, 'r');
  26.    $status = fgets($handle, 8);
  27.    $czas_zycia = fgets($handle, 24);
  28.    fclose($handle);
  29.    $czas_zycia = rtrim($czas_zycia);
  30.  
  31.  
  32.  
  33.    if ($status == 0) {print "Kod niepoprawny."; exit;}  # gdy kod niepoprawny
  34.    else
  35.    {  # gdy kod poprawny:
  36.    if (!isset($_COOKIE['ActiveCode']))
  37.    {
  38.        setcookie('ActiveCode',1, time()+$czas_zycia);
  39.    }
  40.    else
  41.    {
  42.        setcookie('ActiveCode',0, time()+2, "/");
  43.        setcookie('ActiveCode',1, time()+$czas_zycia, "/");
  44.    }
  45.    header("Location: ".$page);        # włączenie strony głównej
  46.    }
  47. ?>


SPRAWDZACZ.PHP
  1. <?php  # skrypt sprawdzający ważność kodu
  2.    if (!isset($_COOKIE['ActiveCode']))
  3.    {
  4.    print "Kod wygasl. <br />";
  5.    unset($_COOKIE[session_name()]);
  6.    exit;
  7.    }
  8. ?>
erix
Nie działa, czyli co się dzieje? Jakiś błąd, czy jak? A może allow_url_open w php.ini jest wyłączone?
debian
No nie działa. Mam włączoną tą usługe co generuje samo kody i ich skrypty. Wszystko wpisałem poprawnie w zmienne. Podaje kod i pokazuje ze nie poprawny. Bo generuje sobie testowe i nie działają. A co do php.ini to nie wiem
erix
A co Ci taki kod zwróci?
  1. <?php
  2. var_dump(file_get_contents('http://forum.php.pl'));
  3. ?>

?
debian
Cytat(erix @ 24.11.2008, 18:42:11 ) *
A co Ci taki kod zwróci?
  1. <?php
  2. var_dump(file_get_contents('http://forum.php.pl'));
  3. ?>

?

Pokazało takie coś
Kod
string(51533) "c940
a po chwili w pliku sample.php pojawiło sie całe forum php.pl
erix
Hmm, to niby dobrze...

A daj var_dump" title="Zobacz w manualu PHP" target="_manual na $status.
debian
Jak daj. Zamiast vardump dac $status? nie działa tak
Riklaunim
Jak generujesz listę kodów to wrzucasz ją do tabeli w swojej bazie danych i wtedy bardzo łatwo możesz zaimplementować sprawdzanie poprawności kodu i np. blokowanie usługi jeżeli pozostało 5 lub mniej kodów winksmiley.jpg
debian
Cytat(Riklaunim @ 24.11.2008, 19:03:16 ) *
Jak generujesz listę kodów to wrzucasz ją do tabeli w swojej bazie danych i wtedy bardzo łatwo możesz zaimplementować sprawdzanie poprawności kodu i np. blokowanie usługi jeżeli pozostało 5 lub mniej kodów winksmiley.jpg

^^ No właśnie mi chodzi żeby ktoś pomógł napisać takie coś. Bo ja nie mam pojęcia.
MWL
polecam opcję poszukuję na innym podforum lub zlecenia.przez.net
debian
No ale miałem nadzieje że ktoś mi tutaj pomoże.
Riklaunim
stworzyć za darmo skrypt do komercyjnych celów? Tak łatwo nie ma. A jak już masz "PHP User" to naucz się programować bo obsługa tego to żadne rocket science.
MuMiN1987
Aby poprawnie to zadziałało nalezy wypełnić formularz tak, jak na obrazku poniżej:



Podajemy nazwe uslugi i uwaga ważne w miejsce gdzie mamy adres IP wstawiamy * . Dalej postępujemy zgodnie z własnymi potrzebami (wartość usługi, okres wazności kodu).
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.