Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]formularz przyjmujacy tylko cyfry[/php]
Forum PHP.pl > Forum > Przedszkole
uczaj21
Witam serdecznie mam pewien problem.chodzi mi o formularz.jak napisac skrypt ktory w polu text [ilosc]formularza przyjmuje tylko cyfry a nie litery w polu wpisuje sie ilosc towaru wiec chcialbym aby byly to tylko liczby.Prosze o pomoc. o to kod formularz
  1. <FORM ACTION="goo2.php" target="m" METHOD="POST" >
  2.  
  3. <a name="zamow"><u>Formularz Zamówienia</u><br><br>
  4. <TABLE width="400" height="150" border="0" background="ll.jpg">
  5. <TR>
  6. <TD>Imię i Nazwisko</TD>
  7. <TD><input type="text" name="iin" maxlength="30"/></TD>
  8. </TR>
  9. <TR>
  10. <TD>Ulica nr domu/mieszk</TD>
  11. <TD><input type="text" name="ulica" maxlength="30"/></TD>
  12. </TR>
  13. <TR>
  14. <TD>Kod pocztowy</TD>
  15. <TD><input type="text" name="kp" maxlength="6"/></TD>
  16. </TR>
  17. <TR>
  18. <TD>Miasto</TD>
  19. <TD><input type="text" name="miasto" maxlength="20"/></TD>
  20. </TR>
  21. <TR>
  22. <TD>E-Mail</TD>
  23. <TD><input type="text" name="email" maxlength="20"/></TD>
  24. </TR>
  25. <TR>
  26. <TD>Ilość Zestawów</TD>
  27. <TD><input type="text" name="ilosc" maxlength="3"/></TD>
  28. </TR>
  29. <TR>
  30. <TD>Wybierz opcje zakupu</TD>
  31. <TD><select name="n">
  32. <option value="dvdaudiotch">DvD Audio 24 bit 96kHz + 1 i 2 sezon Tsubasa Chronicle 45zł </option>
  33. <option value="dvdmp3tch">DVD Mp3 192kb/s 48kHz + 1 i 2 sezon Tsubasa Chronicle 35zł</option>
  34. <option value="dvdaudio">DVD Audio 24bit 96kHz Wysoka jakość dźwięku 25zł</option>
  35. <option value="dvdmp3">DVD Mp3 192kb/s 48kHz Nizsza jakość dźwięku 15zł</option>
  36. <option value="tch">DVD 1 i 2 sezon Tsubasa Chronicle 704x396/23,9 Ftp 20zł </option>
  37. </select></TD>
  38. </TR>
  39.  
  40. <TR>
  41. <TD><input type="submit" value="Zamów"></TD>
  42. <TD><input type="reset" value="Czyść Formularz"></TD>
  43. </TR>

Prosze o rady i pomoc
Cysiaczek
np. tak:

  1. var regExp=/^[0-9]{1,5}$/;
  2. function check(val) {
  3.  
  4. if (!regExp.test(val)) { alert('Podana wartosc jest niepoprawna'); return false; }
  5. else { return true; }
  6. }


Pozdrawiam.
uczaj21
To jest chyba skrypt java script ja chcialem skrypcik w php.Chodzi mi aby tylko do jednego pola text o nazwie ilosc byly tylko wpisywane liczby aby nie przyjmowal liter tylko cyfry a w rescie pol normalnie litery i liczby.
Cysiaczek
Owszem, to jest JS, skoro chcesz walidację przeprowadzać po stronie serwera, to będzie to wygladało podobnie - musisz jedynie w skrypcie odbierającym formularz sprawdzić np, za pomoca
  1. <?php
  2. if(is_numeric($_POST['nazwa_pola'])){}
  3. ?>

czy przesyłana wartosć jest numeryczna i ewntualnie rzutować typy do bardziej szczegółowych.
  1. <?php
  2. if(is_numeric($_POST['nazwa_pola']))
  3. {
  4. $ilosc=(integer)$_POST['nazwa_pola'];
  5. }
  6. ?>


Jak nie jest typem numerycznym, to w bloku else wyświetlasz błąd, czy co tam tylko chcesz.

Pozdrawiam.
uczaj21
dzieki ale ja rowniez rozwiazalem ten problem
  1. <?php
  2. if (! ereg("^[0-9]{1,5}$",$_POST['ilosc'])){echo ('podaj ilosc sztuk wyrazona w cyfrach &nbsp; <a href="kosz.php">Powrot do koszyka</a>');}
  3. ?>

Dzieki za rozwiazanie problemu Pozdrawiam
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.