Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pętla for wykonująca się po evencie [rozwiązane]
Forum PHP.pl > Forum > PHP
Madlova
Witam! Chcę zrobić coś takiego: użytkownik wpisuje w Polę liczbę, następnie zatwierdza Dalej. System ma sprawdzać, czy użytkownik poprawnie wpisuje liczby od np 100 do 90. Mój kod niestety nie działa, a męczę go już dłuższy czas:

CODE
for($licznik=100;$licznik>89;$licznik--){
if(isset($_POST['dalej'])){
if($licznik==$_POST['wpisz']){
echo "Ok.".$licznik;
}

else{
echo "nie.".$licznik;
break;
}
}
}


Wynik kodu to Ok.100nie.99. Nie bardzo wiem, jak zrobić, żeby pętla po 1 wykonaniu czekała, aż użytkownik znów naciśnie dalej. Może ktoś coś podpowie?smile.gif
darko
  1. $min = 90;
  2. $max = 100;
  3.  
  4. $valid = ($_POST['wpisz'] >= $min && $_POST['wpisz'] <= $max) ? true : false;
  5. if($valid)
  6. {
  7. // poprawna, w przedziale
  8. }
  9. else
  10. {
  11. // niepoprawna
  12. }
Madlova
Kurde, teraz czytam swój post to faktycznie niezrozumiale to ujęłam, sorki. Chodzi mi o to, że program ma sprawdzać, czy użytkownik poprawnie liczy (odlicza) od zadanej liczby w dół. Np, wpisuje 100, dalej, 99, dalej, i tak do 90. Jeśli źle wpisze liczbę, np da 100, 98, to wyrzuci błąd i każe liczyć od nowa. Mój kod generalnie wykonuje ok pierwszego fora, po czym niestety automatycznie zaczyna drugiego (a chciałabym żeby zaczynał go dopiero po kolejnym "Dalej"), ale że tym razem licznik ustawił się już na liczbę o 1 mniejszą, toteż wchodzi w else'a i kończy działanie. I nie wiem co z tym fantem:(
darko
Jakoś nie zajarzyłem. Zrobiłbym to na sesji:
  1. if(isset($_POST['dalej']))
  2. {
  3. $start = 100;
  4. $_SESSION['licznik'] = isset($_SESSION['licznik']) ? ( $_SESSION['licznik'] -1 ) : $start;
  5. if($_POST['wpisz'] == $_SESSION['licznik'])
  6. {
  7. echo 'ok';
  8. }
  9. else
  10. {
  11. $_SESSION['licznik'] = $start;
  12. echo 'nie';
  13. }
  14. }
Madlova
Dziękuję ślicznie, teraz 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.