Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: $_GET - liczba czy tekst?
Forum PHP.pl > Forum > Przedszkole
strife
Witam,

Mam taki skrypt:

  1. <?php
  2.  
  3. $sc = $_GET['id'];
  4. if ($sc == integer) {
  5. echo 'to jest liczba';
  6. }
  7. else {
  8.  echo 'błąd';
  9. }
  10.  
  11. ?>

Chodzi mi o to aby warunek sprawdzał czy w $_GET['id'] znajduje się liczba czy litery, acha i jak będzie mieszane czyli powiedzmy index.php?id=31dsada żeby taki skrypt rozpoznawał tylko liczby, a gdy pole $_GET['id'] zawierało by coś innego poza liczbami to aby było powiedzmy die();

Z góry dziękuje!
bela
is_int" title="Zobacz w manualu PHP" target="_manual ? albo
  1. <?php
  2. preg_match('/[0-9]/', $sDoPrzeszukania);
  3. ?>


jak sie w regexpie pomylilem to sory bo nie jestem guru w nich smile.gif
Paul
  1. <?php
  2. //$sc = 'abaaaaaa';
  3. //$sc = '';
  4. $sc = 'aa5bb5cc';
  5.  
  6. $int = (int) preg_replace(&#092;"/D/\", \"\", $sc);
  7.  
  8. var_dump($int);
  9.  
  10. if ($int) {
  11. echo 'to jest liczba';
  12. }
  13. else {
  14.  echo 'błąd';
  15. }
  16. ?>


Nie jest to idealne, ale chyba wystarczy smile.gif To poprostu usuwa cokolwiek innego niz cyfry ze stringu a potem rzutuje na int. Jesli string jest pusty albo nie zawiera cyfr to $int przyjmie wartosc 0, wiec jak widac dla 0 nie bedzie dzialac smile.gif
orson
witam ...

jezeli przesylasz w id tylko liczbe to po co robisz regami questionmark.gif przeciez jezeli przesylasz i sprawdzasz is_int to jak ci da false to znaczy ze to nie twoje id tylko ktos sie bawil ... wiec nie potrzebnie komplikujesz skrypt ...

pozdrawiam
Paul
Ja tez bym tak zrobil, tyle, ze jak scarface chce mieszane to mu tak napisalem smile.gif
Vengeance
gdzies cos czytalem ze is_int() (a raczej ZEND engine) sprawdza tylko czy "coś" zostało przesłene jako INTEGER a nie czy to "coś" na pewno nim jest tzn. czy jest liczbą. Nie bijcie jak cos smile.gif
rogrog
tak na wszelki wypadek - oprócz is_int, która działa tak jak mówi Vengeance, jest jeszze is_numeric() która sprawdza czy liczba ma numeryczną wartość a niekoniecznie jest integer (może być string - przydatne przy przesyłaniu GET i POST)

no ale przy mieszańcach raczej nie zadziała
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.