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
}
📘 Naucz się w lekcji →