ForumCała strona

Nawigacja

Aktualnie online

Gości online: 2

Użytkowników online: 0

Łącznie użytkowników: 25,405
Najnowszy użytkownik: kipolas

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

Zbigniew@
18.10.2025 19:31:20
Forum nie dziala nawet bez polskich znakow.

JazOOn
16.10.2025 18:21:12
nie dziala z polskimi znakami

Zbigniew@
12.10.2025 15:20:31
Tylko dla wybranych.

JazOOn
06.10.2025 21:00:15
czy shout dziala?

hoopak
02.10.2025 10:33:17
Bleeeeee Cool

Pobierz now? wersj?
Pobierz podr?cznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Intval czy is_int? W?tpliwo?ci dotycz?ce zabezpiecze?
Szapko
Pisz? w?a?nie wersj? 2.0 mojego pierwszego powa?niejszego skryptu i szukam pomocy przy zabezpieczeniu formularza. Otó? chc? sprawdzi? czy dana warto?? jest liczb? i je?eli nie skrypt nie wykona dalszych polece?.

W ksi??ce, któr? kupi?em jaki? czas temu na tema PHP i MySQL, znalza?em funkcj? is_int(), która rzekomo mia?a sprawdza? czy zmienna jest liczb? i zwraca? warto?? TRUE lub FALSE.
Nie dzia?a jedna tak jak my?la?em.

Znalaz?em te? funkcj? intval, która dzia?a ju? bardziej po mojej my?li, jednak nadal efekt jest nie taki jak my?la?em.

A teraz nieco skryptu aby wyja?ni? o co chodzi.

1.
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Zwraca B??d - aa i wszystko jest ok.

2.
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Zwraca OK - 1aa, niby ok, ale jakbym zapisywa? t? liczb? do bazy, to by zapisa?a si? jako 1aa?

3.
Pobierz kod źródłowy  Rozwiń Kod źródłowy

B??d - 1aa, wi?c informuje dobrze i zapobieg?o by dalszej pracy skryptu.
Jednak, gdy dam:
4.
Pobierz kod źródłowy  Rozwiń Kod źródłowy

To te? mam B??d - 1. Czy mo?e ja ?le to rozumiem, czy mo?e te? 1 to nie liczba. :/
Edytowane przez khaman dnia 21.08.2010 17:33:19
 
W?cibski Go??
Dodany dnia 24.10.2025 05:50:24
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
Seba0p
intval() konwertuje przekazan? warto?? na typ integer i j? zwraca, a is_int() sprawdza czy jest ona liczb? ca?kowit? i zwraca true lub false.

1.
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Zwraca B??d - aa i wszystko jest ok.


Jest "ok", poniewa? funkcja zwróci?a 0. Typ string zamienia na 0 (wyj?tek stanowi sytuacja, gdy na pocz?tku wyst?puje cyfra/liczba).

2.
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Zwraca OK - 1aa, niby ok, ale jakbym zapisywa? t? liczb? do bazy, to by zapisa?a si? jako 1aa?


Patrz poprzedni punkt. Na pocz?tku jest cyfra, wi?c zosta?a ona zwrócona.

3.
Pobierz kod źródłowy  Rozwiń Kod źródłowy

B??d - 1aa, wi?c informuje dobrze i zapobieg?o by dalszej pracy skryptu.


Zgadza si?. Zwraca warto?? false.

Jednak, gdy dam:
4.
Pobierz kod źródłowy  Rozwiń Kod źródłowy

To te? mam B??d - 1. Czy mo?e ja ?le to rozumiem, czy mo?e te? 1 to nie liczba. :/


Pobierz kod źródłowy  Rozwiń Kod źródłowy


Jest typu string, a nie integer - funkcja zwraca false.

Liczb? ca?kowit? jest:

Pobierz kod źródłowy  Rozwiń Kod źródłowy

Edytowane przez Seba0p dnia 20.08.2010 22:46:20
 
http://seba0p.pl
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl