Maison  >  Article  >  développement back-end  >  Comment implémenter la vérification des données après la soumission du formulaire PHP

Comment implémenter la vérification des données après la soumission du formulaire PHP

王林
王林original
2023-08-10 15:09:03949parcourir

Comment implémenter la vérification des données après la soumission du formulaire PHP

Comment implémenter la validation des données après la soumission d'un formulaire PHP

Lors du développement d'applications Web, les formulaires sont l'un des moyens les plus courants d'interagir avec les utilisateurs. Cependant, les données soumises par les utilisateurs sont souvent peu fiables, nous devons donc vérifier les données soumises par le formulaire pour garantir la sécurité et l'intégrité des données. Cet article explique comment utiliser PHP pour implémenter la validation des données après la soumission du formulaire.

  1. Soumission du formulaire
    Tout d'abord, nous devons créer un formulaire dans la page HTML et définir l'attribut action du formulaire sur le chemin d'un fichier PHP pour traiter les données soumises par le formulaire. Par exemple :
<form action="handle_form.php" method="post">
  <input type="text" name="username" placeholder="用户名">
  <input type="password" name="password" placeholder="密码">
  <input type="submit" value="提交">
</form>
    action属性为一个PHP文件的路径,用来处理表单提交的数据。例如:
<?php
$username = $_POST['username'];
$password = $_POST['password'];

// 验证用户名
if (empty($username)) {
  echo "用户名不能为空";
}

// 验证密码
if (empty($password)) {
  echo "密码不能为空";
}

// 验证邮箱
$email = $_POST['email'];
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo "邮箱格式不正确";
}

// 验证URL
$url = $_POST['url'];
if (!filter_var($url, FILTER_VALIDATE_URL)) {
  echo "URL格式不正确";
}
?>
  1. 数据验证
    在处理表单提交的PHP文件中,我们可以使用$_POST全局变量来获取表单提交的数据。然后,针对不同的表单字段,我们可以进行相应的验证。

例如,我们可以使用empty()函数来检查必填字段是否为空,使用filter_var()函数来验证邮箱地址和URL等特定格式。

<?php
$errors = [];

// 验证用户名
if (empty($username)) {
  $errors['username'] = "用户名不能为空";
}

// 验证密码
if (empty($password)) {
  $errors['password'] = "密码不能为空";
}

// 验证邮箱
$email = $_POST['email'];
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  $errors['email'] = "邮箱格式不正确";
}

// 验证URL
$url = $_POST['url'];
if (!filter_var($url, FILTER_VALIDATE_URL)) {
  $errors['url'] = "URL格式不正确";
}

if (!empty($errors)) {
  foreach ($errors as $error) {
    echo $error;
  }
}
?>

在上面的示例中,我们先使用empty()函数来检查用户名和密码是否为空,如果为空,则输出对应的提示信息。然后,我们使用filter_var()函数来验证邮箱和URL是否符合相应的格式,如果不符合,则输出对应的提示信息。

  1. 错误处理
    可以考虑将错误信息存储在一个数组中,以便统一输出错误提示。
<?php
$username = $_POST['username'];
$username = mysqli_real_escape_string($conn, $username);
// ...
?>

通过将错误信息存储在$errors数组中,并在提交后遍历输出错误信息,可以实现统一的错误处理和提示。

  1. 安全性考虑
    除了数据的完整性验证,我们还应该考虑数据的安全性。因此,我们应该对从表单提交的数据进行安全过滤和转义,以防止SQL注入等常见攻击。
rrreee

在上面的示例中,我们使用mysqli_real_escape_string()Validation des données

Dans le fichier PHP qui gère la soumission du formulaire, nous pouvons utiliser la variable globale $_POST pour obtenir les données de soumission du formulaire. Ensuite, nous pouvons effectuer la vérification correspondante pour différents champs de formulaire.

Par exemple, nous pouvons utiliser la fonction empty() pour vérifier si le champ requis est vide, et la fonction filter_var() pour vérifiez l'adresse e-mail et les formats spécifiques tels que les URL.
rrreee

Dans l'exemple ci-dessus, nous utilisons d'abord la fonction empty() pour vérifier si le nom d'utilisateur et le mot de passe sont vides. S'ils sont vides, les informations d'invite correspondantes seront affichées. Ensuite, nous utilisons la fonction filter_var() pour vérifier si l'e-mail et l'URL correspondent au format correspondant. S'ils ne correspondent pas, les informations d'invite correspondantes sont affichées. 🎜
    🎜Gestion des erreurs🎜Vous pouvez envisager de stocker les informations sur les erreurs dans un tableau pour afficher les invites d'erreur de manière uniforme.
rrreee🎜En stockant les informations d'erreur dans le tableau $errors, et en parcourant et en sortant les informations d'erreur après la soumission, une gestion unifiée des erreurs et des invites peuvent être obtenues. 🎜
    🎜Considérations de sécurité🎜En plus de la vérification de l'intégrité des données, nous devons également considérer la sécurité des données. Par conséquent, nous devons filtrer et échapper en toute sécurité aux données soumises à partir des formulaires pour empêcher les attaques courantes telles que l'injection SQL.
rrreee🎜Dans l'exemple ci-dessus, nous utilisons la fonction mysqli_real_escape_string() pour échapper en toute sécurité le nom d'utilisateur, ce qui peut empêcher les utilisateurs de soumettre de manière malveillante des données contenant des caractères spéciaux. 🎜🎜Résumé🎜Grâce aux étapes ci-dessus, nous pouvons vérifier les données après l'envoi du formulaire, améliorant ainsi la sécurité de l'application. Dans les applications réelles, une vérification plus flexible peut être effectuée en fonction de besoins spécifiques, et JavaScript frontal peut être combiné pour une vérification en temps réel afin d'améliorer l'expérience utilisateur. 🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn