Walidacja formularza w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Walidacja formularza polega na sprawdzeniu, czy dane przesłane przez użytkownika są poprawne, kompletne i bezpieczne. W PHP bardzo często sprawdza się dane z tablicy $_POST, czyli dane wysłane metodą POST z formularza HTML.

Przykład z pytania

if (empty($_POST['name'])) {
    $nameErr = 'Name is required';
}

Ten kod sprawdza, czy pole formularza o nazwie name jest puste. Jeśli użytkownik nie wpisał wartości, do zmiennej $nameErr zostaje przypisany komunikat błędu.

Dlaczego to jest obsługa formularza?

Formularz HTML może wyglądać tak:

<form method="post" action="odbierz.php">
    <input type="text" name="name">
    <input type="submit" value="Wyślij">
</form>

Po wysłaniu formularza PHP odbiera wartość pola name przez $_POST['name'].

Typowe elementy walidacji

  • sprawdzenie, czy pole nie jest puste,
  • sprawdzenie długości tekstu,
  • sprawdzenie formatu, np. adresu e-mail,
  • usunięcie zbędnych spacji funkcją trim(),
  • zabezpieczenie danych przed wyświetleniem, np. htmlspecialchars().

Ważne na egzaminie

Jeżeli w kodzie PHP pojawia się $_POST lub $_GET, najczęściej chodzi o odbieranie danych z formularza. empty() służy tu do sprawdzenia, czy użytkownik wypełnił wymagane pole.