Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nieprawidłowe działanie WHILE
mperlam
post
Post #1





Grupa: Zarejestrowani
Postów: 174
Pomógł: 0
Dołączył: 24.04.2009

Ostrzeżenie: (30%)
XX---


Cześć. Sprawa jest prosta. Mam taki kod:

  1. $lp=1;
  2. while($lp<=$ilewiad) {
  3. fputs($f, "RETR " . $lp . "\r\n");
  4. echo fgets($f, 1024).'';
  5. while (substr($dane = fgets($f, 1024), 0, 1)<>'.') {
  6. $dane = str_replace(">=20", "", $dane);
  7. $dane = str_replace("=20", " ", $dane);
  8. $dane = str_replace("\r\n", "", $dane);
  9. $tresc = "$tresc $dane";
  10. }
  11. $pozkod = strpos($tresc, 'Promo Code:'); //POBIERA POZYCJĘ KODU
  12. $pozrad = strpos($tresc, 'Redeem Link:'); //POBIERA POZYCJĘ REDEEM
  13. $kod = substr($tresc, $pozkod+11, $pozrad-$pozkod-12); //ZAPISUJE KOD
  14. $pozapp = strpos($tresc, 'App:'); //POBIERA POZYCJĘ NAZWY APP
  15. $app = substr($tresc, $pozapp+5, $pozkod-$pozapp-6); //PRZYPISUJE ZMIENNEJ NAZWĘ APP
  16. echo "$app<br>";
  17. echo "$kod<br>";
  18. if (strlen($kod) == 12) {
  19. echo "DOBRZE"; //KOD JEST ODPOWIEDNIEJ DŁUGOŚCI
  20. } else {
  21. echo "ZLE"; //KOD NIE JEST ODPOWIEDNIEJ DŁUGOŚCI
  22. }
  23. $lp++;
  24. }


Nie jest on oczywiście cały. Skrypt łączy sie do pop3, pobiera wszystkie wiadomości a następnie z każdej z nich pobiera z treści kod oraz nazwę aplikacji. Samo pobieranie kodu i aplikacji jest ok, jest jednak problem gdyż skrypt pobiera tylko kod i nazwę aplikacji tylko pierwszego listu, później powiela tą informację i wypisuje coś typu:

  1. APP: XXX
  2. KOD: YYY
  3. APP: XXX
  4. KOD: YYY
  5. itd...


Powinno to wyglądać następująco:

  1. APP: QQQ
  2. KOD: WWW
  3. APP: RRR
  4. KOD: PPP
  5. itd...


Pętla While pobierająca treść działa na pewno (sprawdziłem co wypisuje zmienna tresc) ale druga pętla szwankuje. Czy mogę prosić o pomoc?
Powód edycji: [Cysiaczek]:


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mayu11
post
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 9
Dołączył: 9.09.2008

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


Wydaje mi się, albo brakuje tam
  1. $lp++;
Go to the top of the page
+Quote Post
mperlam
post
Post #3





Grupa: Zarejestrowani
Postów: 174
Pomógł: 0
Dołączył: 24.04.2009

Ostrzeżenie: (30%)
XX---


A na samym końcu kodu co się znajduje (...?...). Udało mi się znaleźć błąd, wystarczyło po wykonaniu pętli pobierającej mail dodać kod, który wyczyści zmienną z treści.


--------------------
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: 21.08.2025 - 20:57