Możesz też użyć metody, którą ja w takich przypadkach polecam - zapamiętanie wpisanych do formularza wartości przy pomocy cookies - przydaje się podczas pracy z formularzami wieloetapowymi, z zapamiętywaniem kryteriów wyświetlania/wyszukiwania, stanu koszyka etc. - odciążasz bazę. A najprostsza metoda to:
<?php
//odbiór i walidacja danych
$dane = $_POST['dane'];
$do_formularza = ' value="'.$dane.'"';
$error = walidacja($dane);
}
//gdy są error lub nie wysłano formularza to go wyświetlasz
$tresc_wyjscie .= '<input type="text" name="dane"'.$do_formularza.'/>';
}
?>
Walidację najlepiej przeprowadzać w PHP - piszesz w tym celu cały szereg funkcji walidujących, np.
<?php
$efekt_walidacji = czy_poprawna_liczba($liczba);
?>
- funkcja taka powinna zwracać tablicę, która powinna zawierać:
1. TRUE lub FALSE w zależności od tego, jak poszła walidacja
2. Walidowaną zmienną przystosowaną do dodania do bazy etc.
3. Walidowaną zmienną przystosowaną do użycia w formularzu (czyli value="zmienna")
4. Komunikat błędu (jeśli wystąpił)