![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%)
|
Przekazuje w adresie wartość zmiennej id=123. Po czym sprawdzam czy to jest integer
if( isset( $_GET['id'] ) && is_integer( $_GET['id'] ) ) i okazuje się, że nie. Ale jak dam is_numeric to przechodzi. Czemu? pozdro |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
no przeciez masz to napisane w manualu!
http://pl2.php.net/manual/pl/function.is-int.php Cytat Find whether the type of a variable is integer http://pl2.php.net/manual/pl/function.is-numeric.php Cytat Finds whether a variable is a number or a numeric string ps: wszystko co przychodzi z GETa czy POSTA jest tekstem
Powód edycji: [nospor]:
|
|
|
|
Post
#3
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Zmienne GET zawsze są przesyłane jako wartość typu string. A więc jeśli wykonasz na tym sprawdzenie to system widzi nie 876 ale "876". Is_numeric zobaczy to jako wartość numeryczną zapisaną jako string, is_integer uzna za string i wywali false (IMG:style_emoticons/default/winksmiley.jpg)
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 0 Dołączył: 24.08.2009 Ostrzeżenie: (0%)
|
wszystko co przychodzi z GETa czy POSTA jest tekstem
no to strzeliłem gafę (IMG:style_emoticons/default/sad.gif) |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%)
|
Wywołaj rzutowanie niejawne bo jawnego w php nie ma z stringu na int za pomocą (int), jeżeli jest numerci to nie stracisz na rzutowaniu, jeżeli nie jest dostaniesz 0, false. Czyli rzutowanie stratne.
|
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat jeżeli nie jest dostaniesz 0, false. No nie do konca...
Cytat 123nienumeric da nam 123
nienumeric123 da nam 0 |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 15:52 |