Zoals je in de tutorial kunt zien, kun je met filter_input() heel simpel GET en POST waardes valideren. Nu werk ik regelmatig met array's in m'n html en dat geeft problemen:
<?php
$sEmail = filter_input(INPUT_POST, 'afzender']['email'], FILTER_VALIDATE_EMAIL);
// en dan verder verwerken
?>
Dit werkt (natuurlijk) niet, andere varianten die ik reeds heb geprobeerd, werken evenmin. Het punt is dat het een array is en geen string, wat deze functie nodig heeft. Maar om nu eerst de array om te zetten naar een string, dat is niet handig, niemand die kan garanderen dat de array daadwerkelijk bestaat, dat moet dan eerst weer ergens worden gecontroleerd (wil ik eigenlijk pas later doen).
Of zou alleen het alternatief werken?
<?php
$sEmail = filter_var(@$_POST['afzender']['email'], FILTER_VALIDATE_EMAIL);
// en dan verder verwerken
?>
2.130 views