Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Formularz - czy liczba
@rtur
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


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. }
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


rzutuj na (int) i jeżeli mniejsze <5 przypisz 5
Go to the top of the page
+Quote Post
@rtur
post
Post #4





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


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;


Ten post edytował Pyton_000 1.08.2014, 12:37:31
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




@Pyton przy zalozeniu, ze ten kod jest odpalany zawsze po wyslaniu forma. Bo jak nie, to uczysz użytkownika zlych nawykow.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Z tematu tego nie wynika, a ja wydedukowałem że jest po wysłaniu (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Chyba wywrozyles a nie wydedukowales (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #9





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


W końcu dostałem swoją mini kulę (IMG:style_emoticons/default/wink.gif) Błagałem o nią wiele wieków no i się udało. Chyba że to Yerba tak na mnie działa (IMG:style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 13:22