PHP: Pozor na záke?nou funkci filter_var() a FILTER_VALIDATE_INT. Provádíte validaci nulových hodnot (a nejen t?ch) správn??

blog.zdenekvecera.cz, 24. května 2020 ve 00:11:00, 24x přečteno

Chceme ov??it, jestli vstup od uživatele je opravdu jakákoliv hodnota integer. O?ekáváme tedy celé záporné ?íslo, celé kladné ?íslo nebo nulu. Pokud pro validaci celo?íselných hodnot (FILTER_VALIDATE_INT) používáme PHP funkci filter_var(), m?žeme se p?i nevhodn? použité podmínce dostat do problém? s nulou.

Když funkci filter_var() p?edáme vstupní hodnotu, o?ekáváme, že nám vrátí hodnotu 1, pokud bude hodnota celé ?íslo a ve všech ostatních p?ípadech vrátí hodnotu 0.

Pokud se k nám dostane hodnota z odeslaného formulá?e, ?íslo m?že být jako sou?ást ?et?zce. Nebo prom?nnou o?ezáváme pomocí funkce trim(). V zápisu kódu je to ekvivalentní tomuto:

Kdybychom ale pro validaci použili funkce is_int() nebo is_float(), tak v p?ípad? ?íselné hodnoty p?edané jako ?et?zec máme problém. Ob? funkce totiž kontrolují datový typ.

Pokračování na: blog.zdenekvecera.cz

Související články

Cookie lišta v PPC: jak uhlídat PPC kampan?

Že s novou opt-in cookie lištou klesnou tržby nam??ené v Google Analytics a PPC systémech si dal dohromady snad každý. V PPC komunit? celkem…

Instalace nejnov?jší verze Apache 2.4, PHP 8.4, MariaDB 11.8, Xdebug, ImageMagick, Memcached a Memcache na Windows 10 a 11

Nainstalujte si webový server Apache 2.4 se skriptovacím jazykem PHP 8.4 p?ímo na sv?j po?íta? s Windows 10 a 11. K tomu si b?hem pár vte?in

8 způsobů jak vydělávat na internetu

V článku se dozvíš základní informace o různých způsobech jak vydělat peníze na internetu. Některé možnosti používají internet jen


Komentáře

(nezobrazuje se)