Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie kodu z SMSa
Forum PHP.pl > Forum > PHP
sher
Witam, mam mały problem ze zrobieniem skryptu sprawdzającego poprawność kodu. W PHP jestem totalnym laikiem, aczkolwiek przez dwa dni nieudolnych prób czegośtam się nauczyłem tongue.gif
Przejdę do rzeczy. Użytkownik wpisuje sobie w formularz kod, który dostał w SMSie, podaje adres url (wysyłanie e-maili mam opanowane raczej). Skrypt musi sprawdzić, czy kod, który wpisał kupujący jest taki sam jak jeden z 200 podanych w pliku tekstowym (każdy kod w osobnej linii) oraz czy adres url, który wpisał zawiera 'steamcommunity.com', w przeciwnym razie wyskakuje komunikat "błędny kod SMS" lub "błędny adres wymiany steam".

Udało mi się sprawdzanie url za pomocą 'strpos', ale co do kodów to już zaczyna brakować mi sił. Wiem, że dla kogoś, kto dobrze zna PHP taki skrypt nie jest problemem. Jeśli znalazłby się ktoś chętny napisać go dla mnie, będę dozgonnie wdzięczny.

PS. Moich wypocin nie będę udostępniał, nie chcę przyprawić was o zawał.
PS2. Nie, partner płasności SMS nie udostępnia mi takiego skryptu.
kayman
Cytat(sher @ 9.07.2014, 20:19:09 ) *
PS2. Nie, partner płasności SMS nie udostępnia mi takiego skryptu.


jakiś wzór/sposób postępowania/instrukcję na pewno udostępnia, trzeba by ich zapytać tylko gdzie tego szukac
sher
Cytat(kayman @ 9.07.2014, 20:28:15 ) *
jakiś wzór/sposób postępowania/instrukcję na pewno udostępnia, trzeba by ich zapytać tylko gdzie tego szukac

Fakt, przeoczyłem to wcześniej. Wciąż, wydaje mi się mało przejżysty i trzeba byłoby go przerobić. Myslę, że w tym przypadku łatwiej jest poprostu napisać nowy.
trueblue
Na pewno wywołujesz jakiś URL, skrypt pod tym URLem powinien zwrócić odpowiedź zależną od kodu.
Czego dokładnie nie wiesz? Jak sprawdzić kod z pulą adresów w pliku?
sher
Cytat(trueblue @ 9.07.2014, 20:35:09 ) *
Na pewno wywołujesz jakiś URL, skrypt pod tym URLem powinien zwrócić odpowiedź zależną od kodu.
Czego dokładnie nie wiesz? Jak sprawdzić kod z pulą adresów w pliku?

Ktoś wpisuje tekst do dwóch pól tekstowych. Zawartość jednego ma zostać porównana z listą dwustu kodów z pliku .txt, a drugiego z ciągiem znaków 'steamcommunity.com'. Jeśli kod, który wpisał jest na liście, a drugi zawiera w sobie tamtą frazę - pojawia się komunikat, że wszystko poszło dobrze i zostaje wysłany email na nasz adres. W przeciwnym wypadku wyskakuje błąd.


edit: i nie umiem zrobić tego, żeby sprawdzało czy kod, który podał jest na tej liście w pliku txt.
trueblue
Jeden ze sposobów:

  1. $handle=fopen("lista.txt","r");
  2. $found=false;
  3. if($handle){
  4. while(($line=fgets($handle))!==false){
  5. $line=trim($line);
  6. if($line==$KOD)
  7. $found=true;
  8. }
  9. }

sher
Bez różnicy co wpiszę w 'kodsms', skrypt uznaje to za prawidłowe i wysyła maila. Gdzie popełniłem błąd?
  1. <?PHP
  2. $adresat = 'ezskinsezlifeshop@gmail.com';
  3. $content1 = $_POST['kodsms'];
  4. $content2 = $_POST['linksteam'];
  5. $content3 = $_POST['itemeker'];
  6. $holder = strpos($content2, 'steamcommunity');
  7.  
  8. if ($holder === false)
  9. echo 'Podaj poprawny adres wymiany Steam!';
  10.  
  11. else
  12. {
  13. $handle=fopen("jasnewody.txt","r");
  14. $found=false;
  15. if($handle)
  16. {
  17. while(($line=fgets($handle))!==false)
  18. {
  19. $line=trim($line);
  20. if($line==$content1)
  21. $found=true;
  22. }
  23. }
  24. if ($found=true)
  25. {
  26. $content.=$content1;
  27. $content.='---';
  28. $content.=$content3;
  29. $content.='---';
  30. $content.=$content2;
  31.  
  32. if (mail($adresat, $content3, $content))
  33. echo '<p>E-mail wysłano poprawnie.</p>';
  34. else
  35. echo '<p>Błąd w wysyłaniu wiadomości! Skontaktuj się z ezskinsezlifeshop@gmail.com </p>';
  36. }
  37. else
  38. echo 'Podaj poprawny kod SMS!';
  39. }
  40.  
  41. ?>
Damonsson
  1. if ($found=true)


http://phpkurs.pl/operatory/#operatory.porownania
sher
Cytat(Damonsson @ 9.07.2014, 21:13:21 ) *

Dzięki za pomoc, działa.
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.