Maison >développement back-end >tutoriel php >Utilisez la fonction filter_var_array() de PHP pour filtrer les données saisies par plusieurs utilisateurs
Avec l'utilisation généralisée des applications Web, les problèmes de sécurité attirent de plus en plus l'attention. L'une des mesures de sécurité importantes consiste à filtrer et à vérifier les données saisies par l'utilisateur. PHP fournit une série de fonctions de filtrage, parmi lesquelles il existe une fonction très pratique - filter_var_array(). Cette fonction peut filtrer plusieurs données en même temps et constitue un outil très efficace et pratique. Cet article présentera en détail l'utilisation de cette fonction et vous fournira des exemples de code spécifiques.
La fonctionfilter_var_array() est utilisée pour filtrer plusieurs données. Sa syntaxe de base est la suivante :
filter_var_array ( array $data [, mixed $definition [, bool $add_empty = true ]] ) : array
Parmi elles, $data représente les données à filtrer et doit être associative. tableau. $definition représente la règle de filtrage, qui peut être un tableau ou une constante. $add_empty indique s'il faut inclure la chaîne vide.
Cette fonction renvoie les données filtrées, qui sont également un tableau associatif.
Supposons maintenant que nous ayons un formulaire qui contient trois zones de saisie : nom d'utilisateur, mot de passe et adresse e-mail. Nous devons filtrer et vérifier les données dans ces trois zones de saisie pour nous assurer que les données sont dans le bon format avant de les stocker dans la base de données. Voici le code qui utilise la fonction filter_var_array() pour accomplir cette tâche :
<?php //从表单中获取数据 $username = $_POST['username']; $password = $_POST['password']; $email = $_POST['email']; //定义过滤规则 $definition = array( 'username' => FILTER_SANITIZE_STRING, 'password' => FILTER_SANITIZE_STRING, 'email' => FILTER_VALIDATE_EMAIL ); //使用filter_var_array()函数过滤数据 $data = filter_var_array(array( 'username' => $username, 'password' => $password, 'email' => $email ), $definition); //判断用户输入是否合法 if($data['username'] && $data['password'] && $data['email']){ //存储到数据库中 //... }else{ //提示用户输入不合法 //... } ?>
Dans le code ci-dessus, les trois variables $username, $password et $email sont d'abord obtenues à partir du formulaire. Ensuite, nous avons défini un tableau $definition, dans lequel la règle de filtrage pour « nom d'utilisateur » et « mot de passe » est FILTER_SANITIZE_STRING (en supprimant les étiquettes et les caractères spéciaux), et la règle de filtrage pour « e-mail » est FILTER_VALIDATE_EMAIL (vérifiant s'il s'agit d'une adresse e-mail légale. ).
Ensuite, nous transmettons les trois variables obtenues et le tableau $definition défini à la fonction filter_var_array(), et enregistrons le résultat renvoyé dans le tableau $data. Enfin, nous déterminons si les trois éléments du tableau $data ne sont pas vides. S'ils ne sont pas vides, les données peuvent être stockées dans la base de données. Sinon, la saisie de l'utilisateur est invitée à être illégale.
Grâce aux exemples de code ci-dessus, nous pouvons voir l'efficacité et la commodité de la fonction filter_var_array(), qui peut facilement filtrer et vérifier plusieurs données.
Dans l'exemple ci-dessus, nous avons utilisé deux constantes de filtre : FILTER_SANITIZE_STRING et FILTER_VALIDATE_EMAIL. Ces deux constantes sont définies dans la fonction filter_var() et peuvent également être utilisées directement dans la fonction filter_var_array(). . Cependant, en plus de ces deux constantes, la fonction filter_var_array() possède de nombreuses autres constantes qui peuvent être utilisées. Voici quelques constantes de filtre couramment utilisées :
Dans cet article, nous avons présenté la fonction filter_var_array() de PHP dans son utilisation détaillée, et des exemples de code spécifiques sont donnés. Grâce à la démonstration de cas réels, les lecteurs peuvent clairement comprendre comment utiliser cette fonction pour filtrer et vérifier les données saisies par l'utilisateur afin de garantir la sécurité des applications Web.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!