Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Formularz - czy liczba
Forum PHP.pl > Forum > Przedszkole
@rtur
Chciałbym wypisać liczby od tej w $start do $stop; w formularzu wpisuje liczbę i skrypt pobiera ją do $ile;
Jak zrobić w php walidację czy wpisano liczbę dodatnią bez przecinków a w przypadku nie spełnienia warunku dać zmiennej $ile wartość 5?
Zrobiłem coś takiego ale nie działa, co nie wpisze liczy do 5, co robię nie tak?
  1. if(!empty($_POST['ilosc']) && is_int($_POST['ilosc'])){
  2. $ile = $_POST['ilosc'];
  3. }
  4. else{
  5. $ile=5;
  6. }
  7. $start=1;
  8. $stop=$start + $ile;
  9. for($start;$start<$stop;$start++){
  10. echo $start.'<br>';
  11. }
nospor
Z posta zawsze idzie tekst wiec is_int zawsze zwroci FALSE. Uzywaj is_numeric, albo rzutuj na liczbe

A na przyszlosc sprawdzaj co porownujesz to nie bedziesz z takimi pierdulami po forum latał
var_dump($_POST['ilosc']);
i widac ze to tekst a nie liczba
Pyton_000
rzutuj na (int) i jeżeli mniejsze <5 przypisz 5
@rtur
Panowie dziękuje za wskazówki
  1. if(!empty($_POST['ilosc'])){
  2. $ilosc = (int) $_POST['ilosc'];
  3. if($ilosc>0){$ile=$ilosc;}
  4. else{$ile=5;}
  5. }else{$ile=5;}
  6.  
  7. $start=1;
  8. $stop=$start + $ile;
  9.  
  10. for($start;$start<$stop;$start++){
  11. echo $start.'<br>';
  12. }


i działa smile.gif
Pyton_000
Zamiast tego
  1. if(!empty($_POST['ilosc'])){
  2. $ilosc = (int) $_POST['ilosc'];
  3. if($ilosc>0){$ile=$ilosc;}
  4. else{$ile=5;}
  5. }else{$ile=5;}


  1. $ilosc = (int)$_POST['ilosc'];
  2. $ile = ($ilosc < 5) ? 5 : $ilosc;
nospor
@Pyton przy zalozeniu, ze ten kod jest odpalany zawsze po wyslaniu forma. Bo jak nie, to uczysz użytkownika zlych nawykow.
Pyton_000
Z tematu tego nie wynika, a ja wydedukowałem że jest po wysłaniu wink.gif
nospor
Chyba wywrozyles a nie wydedukowales wink.gif
Pyton_000
W końcu dostałem swoją mini kulę wink.gif Błagałem o nią wiele wieków no i się udało. Chyba że to Yerba tak na mnie działa haha.gif
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.