Position actuelle: Accueil> Derniers articles> Conseils pratiques pour la validation de formulaire PHP : utilisez la fonction filter_input pour valider efficacement la saisie de l'utilisateur

Conseils pratiques pour la validation de formulaire PHP : utilisez la fonction filter_input pour valider efficacement la saisie de l'utilisateur

M66 2025-11-03

introduction

Lors du développement d'applications Web, les formulaires constituent un moyen important d'interagir avec les utilisateurs. Valider correctement les entrées des utilisateurs est une étape critique pour garantir la sécurité et l’intégrité des données. PHP fournit la fonction filter_input pour rendre la validation et le filtrage des entrées utilisateur plus faciles et plus efficaces. Cet article explique comment utiliser la fonction filter_input pour vérifier les entrées de l'utilisateur et fournit des exemples de code pratiques.

Utilisation de base de la fonction filter_input

La fonction filter_input est utilisée pour filtrer et valider les entrées de l'utilisateur et accepte trois paramètres principaux : le type d'entrée (source), le nom de l'entrée et le type de filtre. Voici un exemple de base :

 $input = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);

if ($input) {
    echo 'Adresse e-mail valable。';
} else {
    echo '请输入一个Adresse e-mail valable。';
}

Dans l'exemple, nous utilisons la fonction filter_input pour valider le champ email soumis via la méthode POST. FILTER_VALIDATE_EMAIL est utilisé pour vérifier si le format de l'e-mail est valide. Si elle est valide, « adresse e-mail valide » sera affichée, sinon l'utilisateur sera invité à saisir l'adresse e-mail correcte.

Types de filtres courants

filter_input prend en charge plusieurs types de filtres pour valider différents types d'entrée. Les filtres suivants sont couramment utilisés :

Vérifier l'e-mail

 $email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
if (!$email) {
    echo '请输入一个Adresse e-mail valable。';
}

Valider les entiers

 $age = filter_input(INPUT_POST, 'age', FILTER_VALIDATE_INT);
if (!$age) {
    echo 'Veuillez entrer un âge valide。';
}

URL de vérification

 $url = filter_input(INPUT_POST, 'url', FILTER_VALIDATE_URL);
if (!$url) {
    echo 'Veuillez entrer un valideURLadresse。';
}

chaîne de filtre

 $name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
if (!$name) {
    echo 'Veuillez entrer un valide姓名。';
}

Fonction de filtre personnalisé

En plus des filtres intégrés, vous pouvez également définir des fonctions personnalisées pour valider les entrées de l'utilisateur. La fonction personnalisée accepte un paramètre et renvoie le résultat de la vérification (vrai ou faux). Les exemples sont les suivants :

 function validate_username($username) {
    // Le nom d'utilisateur doit commencer par une lettre,Ne peut contenir que des lettres、Chiffres et traits de soulignement
    return preg_match('/^[a-zA-Z][a-zA-Z0-9_]*$/', $username);
}

$username = filter_input(INPUT_POST, 'username', FILTER_CALLBACK, array('options' => 'validate_username'));
if (!$username) {
    echo 'Veuillez entrer un valide用户名。';
}

Dans l'exemple ci-dessus, la fonction validate_username utilise une expression régulière pour vérifier si le nom d'utilisateur commence par une lettre et contient uniquement des lettres, des chiffres et des traits de soulignement. Appelez ensuite la fonction personnalisée via le filtre FILTER_CALLBACK pour valider la saisie de l'utilisateur.

Résumer

Cet article explique comment utiliser la fonction filter_input de PHP pour la validation des entrées utilisateur, y compris l'utilisation de base, les types de filtres courants et des exemples de fonctions personnalisées. La validation correcte des entrées utilisateur est essentielle pour garantir l'intégrité des données et la sécurité des applications, et ces conseils peuvent contribuer à améliorer la qualité et l'expérience utilisateur des applications Web.

Références

  • Documentation de la fonction PHP filter_input : https://www.php.net/filter_input
  • Documentation sur les types de filtres PHP : https://www.php.net/manual/en/filter.filters.php