filter_input
funkcja
Pobiera zmienną ze superglobala (GET, POST, COOKIE, SERVER, ENV) i od razu filtruje lub waliduje jej wartość.
filter_input(int $type, string $var_name, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed
filter_input odczytuje zmienną bezpośrednio ze źródła (np. INPUT_GET, INPUT_POST) i stosuje wybrany filtr — wszystko w jednym kroku. To bezpieczniejsze podejście niż sięganie do $_GET wprost, bo walidacja i pobranie są nierozłączne: nie możesz przez pomyłkę użyć surowej wartości przed sprawdzeniem.
Jeśli zmienna nie istnieje, funkcja zwraca null. Jeśli istnieje, ale nie przechodzi filtra, zwraca false.
Stałe INPUT_* odpowiadają superglobalom: INPUT_GET → $_GET, INPUT_POST → $_POST, INPUT_COOKIE → $_COOKIE, INPUT_SERVER → $_SERVER, INPUT_ENV → $_ENV.
<?php
declare(strict_types=1);
// Zakładamy: ?strona=3 w URL
$strona = filter_input(INPUT_GET, 'strona', FILTER_VALIDATE_INT, [
'options' => ['min_range' => 1, 'max_range' => 100],
]);
if ($strona === null) {
echo 'Brak parametru strona.';
} elseif ($strona === false) {
echo 'Nieprawidłowa wartość — oczekiwano liczby całkowitej 1–100.';
} else {
echo "Strona: {$strona}";
// Strona: 3
}