Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Tylko cyfry
crew123
post 1.07.2012, 19:08:47
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 25.02.2012

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


Cześć.
Chciałbym się Was zapytać jak zrobić filtrowanie inputa tekstowego tak aby akceptował tylko liczby. Próbowałem już wielokrotnie lecz wszystko sypalo się gdy input był pusty.
Go to the top of the page
+Quote Post
Kshyhoo
post 1.07.2012, 19:15:26
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Zobacz to:
  1. <script type="text/javascript" language="JavaScript">
  2. // tylko cyfry
  3. function fHandleInputs(obj) {
  4. var obj = document.form1.numer;
  5. if (!obj.value.match('^[0-9]*$') && obj.value.length>0) obj.value = obj.value.substring(0,obj.value.length-1);
  6. }
  7. // tylko 4 cyfry
  8. function fCheckValidation(fobj) {
  9. return (fobj.numer.value.match('^[0-9]{4}$'))? true: false;
  10. }
  11.  
  12. <body onload="fSetUpInputs();">
  13. <form method="post" name="form1" action="index.php" onsubmit="return validate();">

Nie wiem, czy cały kod potrzebny...

Ten post edytował Kshyhoo 1.07.2012, 19:16:58


--------------------
Go to the top of the page
+Quote Post
Mephistofeles
post 1.07.2012, 19:18:37
Post #3





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Możesz wykorzystać HTML5 i typ inputa number.
http://www.w3.org/TR/html-markup/input.number.html
Natomiast po stronie PHP możesz skorzystać z is_int.
Go to the top of the page
+Quote Post
crew123
post 1.07.2012, 19:18:57
Post #4





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 25.02.2012

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


Chodziło mi bardziej o jakiś php, aby zrobić ładny komunikacik.
Up. będzie działać gdy imput bedzie empty?

Ten post edytował crew123 1.07.2012, 19:20:09
Go to the top of the page
+Quote Post
--uki--
post 1.07.2012, 19:19:16
Post #5





Goście







  1. if(!empty($_POST['name']) {
  2. if(is_numeric($_POST['name'])) {
  3. $some = $_POST['name']
  4. }
  5. else {
  6. echo 'Tylko liczby';
  7. }
  8. }
  9. else {
  10. echo 'Uzpelnij pole';
  11. }
Go to the top of the page
+Quote Post
crew123
post 1.07.2012, 19:25:01
Post #6





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 25.02.2012

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


uki, chodzi o to aby mozna bylo zostawic puste
Go to the top of the page
+Quote Post
--uki--
post 1.07.2012, 19:27:54
Post #7





Goście







  1. if(!empty($_POST['name']) {
  2. if(is_numeric($_POST['name']))
  3. $some = $_POST['name'];
  4. else
  5. echo 'Tylko liczby';
  6. }
  7. else {
  8. $some = ''; // puste = puste
  9. }
Go to the top of the page
+Quote Post
crew123
post 1.07.2012, 19:32:01
Post #8





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 25.02.2012

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


Gdy zostawie puste wyskakuje blad "tylko liczby" smile.gif
Go to the top of the page
+Quote Post
Rysh
post 1.07.2012, 19:35:16
Post #9





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


to dodaj sobie or empty($zmienna).


--------------------
Go to the top of the page
+Quote Post
--uki--
post 1.07.2012, 19:38:05
Post #10





Goście







  1. echo '<form action="index.php" method="POST">
  2. <input type="text" name="number">
  3. <input type="submit" value="Wyślij">
  4. </form>';
  5.  
  6.  
  7. if(!empty($_POST['number'])) {
  8. if(is_numeric($_POST['number']))
  9. $some = $_POST['number'];
  10. else
  11. echo 'Tylko liczby';
  12. }
  13. else {
  14. $some = ''; // puste = puste
  15. }
  16. if(isset($some))
  17. echo $some;


Dziala na 100%.
Go to the top of the page
+Quote Post
crew123
post 1.07.2012, 19:39:20
Post #11





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 25.02.2012

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


Dobra zrobiłem to troszke inaczej, dziala - dzieki smile.gif
Go to the top of the page
+Quote Post
Mephistofeles
post 1.07.2012, 19:39:24
Post #12





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Użyj is_int, jeśli chcesz mieć liczby całkowite, is_numeric sprawdza tylko czy zmienna jest liczbą.
  1. if (is_int($_POST['number']) || empty($_POST['number']))
  2. return true;
Go to the top of the page
+Quote Post
Rysh
post 1.07.2012, 19:41:14
Post #13





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


  1. if(isset($_POST['number'])) {
  2. if(is_numeric($_POST['number']) OR empty($_POST['number']))
  3. echo 'Prawidłowo';
  4. else
  5. echo 'Tylko liczby';
  6. }
  7. }


--------------------
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 Wersja Lo-Fi Aktualny czas: 20.07.2025 - 11:49