Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] JAk zrobić, aby do inputa można było tylko wkleić 2 cyfry?, (żeby po przetworzeniu skryptu albo zaakceptowało, albo wywaliło błąd)
scretch
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 27.06.2006

Ostrzeżenie: (20%)
X----


Witam. Chcę, aby cokolwiek ktoś wpisał do inputa, to żeby skrypt uznawał tylko dwie cyfry. Jak to zrobić questionmark.gif?
Go to the top of the page
+Quote Post
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




  1. <input type="text" name="pole" maxlength="2" />


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
scretch
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 27.06.2006

Ostrzeżenie: (20%)
X----


nie... może trochę źle się wyraziłem. CHodzi mi o to, że do inputa można wpisać tysiąc cyfr i liter, ale że skrypt przyjmie tylko dwie liczby.

222 i 455
Go to the top of the page
+Quote Post
batman
post
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




W momencie odbierania danych formularza (zakładam, że $_POST), rozbijasz ciąg przez explode. Następnie wyciągasz dwie pierwsze liczby (zakładam, że walidujesz pole pod kątem wprowadzanych danych, a separatorem jest przecinek).

  1. <?php
  2. $pole = $_POST['pole'];
  3.  
  4. if(strlen($pole) > 0) {
  5. $liczby = explode(',',$pole);
  6. for($i=0,$count=count($liczby);$i<$count;$i++) {
  7. if($i < 2)
  8. echo 'Liczba #'.($i + 1).' '.$liczby[$i].'<br />';
  9. }
  10. }
  11. ?>


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
scretch
post
Post #5





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 27.06.2006

Ostrzeżenie: (20%)
X----


ja nie chcę mniejszy od dwóch tylko dane liczby:

222 i 455, żeby tylko przyjmował !
Go to the top of the page
+Quote Post
gladiror
post
Post #6





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


Moze chodzi Ci o funkcje ereg() questionmark.gif ona sprawdza czy w danej zmiennej znajduje się jakiś ciąg znaków??


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
Go to the top of the page
+Quote Post
batman
post
Post #7





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




if($i < 2) nie oznacza, że będzie tylko 0 i 1 wyświetlał. 0 i 1 są indeksami tablicy, a wartości masz tutaj $liczby[$i]. Są to dwie pierwsze liczby z formularza. A jeśli chcesz by wyświetlił liczby 222 i 455, to robisz takie coś:

  1. <?php
  2. $pole = $_POST['pole'];
  3.  
  4. if(strlen($pole) > 0) {
  5. $liczby = explode(',',$pole);
  6. for($i=0,$count=count($liczby);$i<$count;$i++) {
  7. if($liczby[$i] == 222 || $liczby[$i] == 455)
  8. echo 'Liczba #'.($i + 1).' '.$liczby[$i].'<br />';
  9. }
  10. }
  11. ?>


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
scretch
post
Post #8





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 27.06.2006

Ostrzeżenie: (20%)
X----


nie dokładnie to, ale jak przerobiłem to działa.
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: 20.08.2025 - 15:06