Aller au contenu

Validation des formulaires PHP : URL et adresses e-mail

La validation des formulaires est un aspect important du développement web en PHP, garantissant que les données saisies par les utilisateurs sont exactes et répondent à des exigences spécifiques avant leur traitement. Cet article se concentrera sur la validation des champs de formulaire pour les adresses e-mail et les URL en PHP.

Validation des champs e-mail

Les champs e-mail peuvent être validés à l'aide de la fonction filter_var en PHP. Cette fonction permet de valider une chaîne de caractères comme une adresse e-mail en vérifiant si elle respecte le format approprié. Si l'e-mail est au bon format, la fonction renverra true ; sinon, elle renverra false.

Voici un exemple de validation d'un champ e-mail à l'aide de la fonction filter_var :

Exemple PHP de validation d'un champ e-mail à l'aide de la fonction filter_var

php
<?php
  $email = "[email protected]";
  if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Invalid email format";
  } else {
    echo "Valid email format";
  }
?>

Il est également possible de valider les champs e-mail à l'aide d'expressions régulières. Une expression régulière est un motif utilisé pour faire correspondre des chaînes de caractères spécifiques. Dans ce cas, vous pouvez utiliser une expression régulière pour vérifier le format approprié d'une adresse e-mail.

Voici un exemple de validation d'un champ e-mail à l'aide d'une expression régulière :

Exemple PHP de validation d'un champ e-mail à l'aide d'une expression régulière

php
<?php
  $email = "[email protected]";
  if (!preg_match("/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/", $email)) {
    echo "Invalid email format";
  } else {
    echo "Valid email format";
  }
?>

Remarque : Bien que les expressions régulières puissent valider les formats, l'utilisation de filter_var avec FILTER_VALIDATE_EMAIL ou FILTER_VALIDATE_URL est généralement recommandée en production. Elle gère plus fiablement les cas limites conformes aux RFC et les noms de domaine internationalisés que les motifs regex personnalisés.

Validation des champs URL

Les champs URL peuvent être validés à l'aide de la fonction filter_var en PHP. Cette fonction permet de valider une chaîne de caractères comme une URL en vérifiant si elle respecte le format approprié. Si l'URL est au bon format, la fonction renverra true ; sinon, elle renverra false.

Voici un exemple de validation d'un champ URL à l'aide de la fonction filter_var :

Exemple PHP de validation d'un champ URL à l'aide de la fonction filter_var

php
<?php
  $url = "https://www.example.com";
  if (!filter_var($url, FILTER_VALIDATE_URL)) {
    echo "Invalid URL format";
  } else {
    echo "Valid URL format";
  }
?>

Il est également possible de valider les champs URL à l'aide d'expressions régulières. Une expression régulière est un motif utilisé pour faire correspondre des chaînes de caractères spécifiques. Dans ce cas, vous pouvez utiliser une expression régulière pour vérifier le format approprié d'une URL.

Voici un exemple de validation d'un champ URL à l'aide d'une expression régulière :

Exemple PHP de validation d'un champ URL à l'aide d'une expression régulière

php
<?php
  $url = "https://www.example.com";
  if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $url)) {
    echo "Invalid URL format";
  } else {
    echo "Valid URL format";
  }
?>

Remarque : Il en va de même pour la validation des URL. Les filtres intégrés sont optimisés pour la précision et la sécurité.

Validation vs. Sanitisation : La validation vérifie si les données correspondent au format attendu. Elle ne supprime ni n'échappe les caractères dangereux. Pour des raisons de sécurité, combinez toujours la validation avec la sanitisation (par exemple, en utilisant filter_var($input, FILTER_SANITIZE_EMAIL)) avant de stocker ou d'utiliser les données.

En conclusion, la validation des formulaires est un aspect important du développement web en PHP, garantissant que les données soumises par les utilisateurs sont sûres et correctement formatées avant leur traitement.

Pratique

Parmi les affirmations suivantes concernant les formulaires PHP, les URL et les e-mails, lesquelles sont correctes ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.