Tutoriel PHP

ACCUEIL PHP Introduction PHP Installation PHP Syntaxe PHP Commentaires PHP Variables PHP Écho PHP / Impression Types de données PHP Chaînes PHP Numéros PHP Mathématiques PHP Constantes PHP Opérateurs PHP PHP Si... Sinon... Sinon Commutateur PHP Boucles PHP Fonctions PHP Tableaux PHP Superglobales PHP Expression régulière PHP

Formulaires PHP

Gestion des formulaires PHP Validation de formulaire PHP Formulaire PHP requis URL/courriel du formulaire PHP Formulaire PHP terminé

PHP Avancé

Date et heure PHP Inclure PHP Gestion des fichiers PHP Fichier PHP Ouvrir/Lire Création/écriture de fichier PHP Téléchargement de fichier PHP Cookies PHP Séances PHP Filtres PHP Filtres PHP avancés Fonctions de rappel PHP PHPJSON Exception PHP

POO PHP

PHP Qu'est-ce que la POO Classes/Objets PHP Constructeur PHP Destructeur PHP Modificateurs d'accès PHP Héritage PHP Constantes PHP Classes abstraites PHP Interface PHP Caractéristiques PHP Méthodes statiques PHP Propriétés statiques PHP Espaces de noms PHP Itérables PHP

Base de données MySQL

Base de données MySQL Connexion MySQL Créer une base de données MySQL Créer une table MySQL MySQL Insérer des données MySQL obtenir le dernier ID MySQL Insérer plusieurs MySQL préparé MySQL Sélectionner les données MySQL Où Trier MySQL par MySQL Supprimer les données Données de mise à jour MySQL Données de limite MySQL

XML PHP

Analyseurs PHP XML Analyseur PHP SimpleXML PHP SimpleXML - Obtenir Expatriation PHP XML PHP XML DOM

PHP -AJAX

Introduction à AJAX PHP AJAX Base de données AJAX XML AJAX Recherche en direct AJAX Sondage AJAX

Exemples PHP

Exemples PHP Compilateur PHP Questionnaire PHP Exercices PHP Certificat PHP

Référence PHP

Présentation de PHP Tableau PHP Calendrier PHP Date PHP Annuaire PHP Erreur PHP Exception PHP Système de fichiers PHP Filtre PHP FTP PHP PHPJSON Mots clés PHP PHP LibxmlComment Messagerie PHP Mathématiques PHP Divers PHP PHP MySQL Réseau PHP Contrôle de sortie PHP Expression régulière PHP PHP SimpleXML Flux PHP Chaîne PHP Gestion des variables PHP Analyseur PHP XML Code postal PHP Fuseaux horaires PHP

Filtres PHP


Validation des données = Déterminer si les données sont sous une forme appropriée.

Désinfection des données = Supprimer tout caractère illégal des données.


L'extension de filtre PHP

Les filtres PHP sont utilisés pour valider et assainir les entrées externes.

L'extension de filtre PHP possède de nombreuses fonctions nécessaires pour vérifier les entrées de l'utilisateur et est conçue pour faciliter et accélérer la validation des données.

La filter_list()fonction peut être utilisée pour répertorier ce que propose l'extension de filtre PHP :

Exemple

<table>
  <tr>
    <td>Filter Name</td>
    <td>Filter ID</td>
  </tr>
  <?php
  foreach (filter_list() as $id =>$filter) {
    echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
  }
  ?>
</table>

Pourquoi utiliser des filtres ?

De nombreuses applications Web reçoivent des entrées externes. Les entrées/données externes peuvent être :

  • Saisie de l'utilisateur à partir d'un formulaire
  • Biscuits
  • Données de services Web
  • Variables de serveur
  • Résultats de la requête de base de données

Vous devez toujours valider les données externes !
Des données soumises non valides peuvent entraîner des problèmes de sécurité et casser votre page Web !
En utilisant des filtres PHP, vous pouvez être sûr que votre application reçoit la bonne entrée !



Fonction PHP filter_var ()

La filter_var()fonction valide et assainit les données.

La filter_var()fonction filtre une seule variable avec un filtre spécifié. Il faut deux données :

  • La variable que vous voulez vérifier
  • Le type de chèque à utiliser

Désinfecter une chaîne

L'exemple suivant utilise la filter_var()fonction pour supprimer toutes les balises HTML d'une chaîne :

Exemple

<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>

Valider un entier

L'exemple suivant utilise la filter_var()fonction pour vérifier si la variable $int est un entier. Si $int est un entier, la sortie du code ci-dessous sera : "L'entier est valide". Si $int n'est pas un entier, la sortie sera : "L'entier n'est pas valide":

Exemple

<?php
$int = 100;

if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
  echo("Integer is valid");
} else {
  echo("Integer is not valid");
}
?>

Astuce : filter_var() et problème avec 0

Dans l'exemple ci-dessus, si $int était défini sur 0, la fonction ci-dessus renverra "Integer is not valid". Pour résoudre ce problème, utilisez le code ci-dessous :

Exemple

<?php
$int = 0;

if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
  echo("Integer is valid");
} else {
  echo("Integer is not valid");
}
?>

Valider une adresse IP

L'exemple suivant utilise la filter_var()fonction pour vérifier si la variable $ip est une adresse IP valide :

Exemple

<?php
$ip = "127.0.0.1";

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
  echo("$ip is a valid IP address");
} else {
  echo("$ip is not a valid IP address");
}
?>

Désinfecter et valider une adresse e-mail

L'exemple suivant utilise la filter_var()fonction pour d'abord supprimer tous les caractères illégaux de la variable $email, puis vérifier s'il s'agit d'une adresse e-mail valide :

Exemple

<?php
$email = "[email protected]";

// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
  echo("$email is a valid email address");
} else {
  echo("$email is not a valid email address");
}
?>

Nettoyer et valider une URL

L'exemple suivant utilise la filter_var()fonction pour d'abord supprimer tous les caractères illégaux d'une URL, puis vérifier si $url est une URL valide :

Exemple

<?php
$url = "https://www.w3schools.com";

// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);

// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
  echo("$url is a valid URL");
} else {
  echo("$url is not a valid URL");
}
?>

Référence complète du filtre PHP

Pour une référence complète de toutes les fonctions de filtrage, consultez notre référence complète sur les filtres PHP. Vérifiez chaque filtre pour voir quelles options et quels drapeaux sont disponibles.

La référence contient une brève description, et des exemples d'utilisation, pour chaque fonction !