Filtrer les données utilisateur

A travers la fonction prédéfinie “filter_var” PHP offre le possibilité de valider aisément les données saisies par un utilisateur. Celle-ci permet de vérifier si les données reçues correspondent bien à un type ou une forme attendus (entier, réel, booléens, courriel, adresse web…).

Pour l’utiliser il faut lui fournir deux arguments:  la variable à valider et le type de filtre à appliquer.

<?php
$var = 755;
$res = filter_var($var, FILTER_VALIDATE_INT);
var_dump($res);
// affiche: int(755)

$var = 'abc';
$res = filter_var($var, FILTER_VALIDATE_BOOLEAN);
var_dump($res);
// affiche: bool(false)

$var = 'abc';
$res = filter_var($var, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
var_dump($res);
// affiche: NULL

$var = 'sd@sky.net';
$res = filter_var($var, FILTER_VALIDATE_EMAIL);
var_dump($res);
// affiche: string(10) "sd@sky.net"

var_dump(filter_var('http:/example.com', FILTER_VALIDATE_URL));
// affiche: bool(false)
?>
Il suffit de l'utiliser dans une condition pour mettre en place les données venant d'un formulaire web par exemple.
<?php if(filter_var($_POST['courriel'], FILTER_VALIDATE_EMAIL) !== false) { // si la valeur du champ courriel correspond bien à un email... } ?>