Derniers tutoriels de développement web
 

PHP 5 Formulaires - Valider E-mail et l'URL


Ce chapitre montre comment valider les noms, les e-mails et les URL.


PHP - Valider Nom

Le code ci-dessous montre un moyen simple de vérifier si le champ nom ne contient que des lettres et des espaces. Si la valeur du champ de nom n'est pas valide, enregistrer un message d'erreur:

$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
  $nameErr = "Only letters and white space allowed";
}
Remarque La fonction preg_match () recherche une chaîne pour motif, retournant true si le modèle existe et false sinon.

PHP - Valider E-mail

Le plus simple et le plus sûr moyen de vérifier si une adresse e-mail est bien formé est d'utiliser la fonction filter_var () de PHP.

Dans le code ci-dessous, si l'adresse e-mail n'est pas bien formé, puis stocker un message d'erreur:

$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  $emailErr = "Invalid email format";
}

PHP - Valider l'URL

Le code ci - dessous montre un moyen de vérifier si une syntaxe d'adresse URL est valide (this regular expression also allows dashes in the URL) des (this regular expression also allows dashes in the URL) . Si la syntaxe d'adresse URL est pas valide, puis stocker un message d'erreur:

$website = test_input($_POST["website"]) ;
if (! preg_match("/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
  $websiteErr = "Invalid URL";
}

PHP - Valider Nom, E-mail et l'URL

Maintenant, le script ressemble à ceci:

Exemple

<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Name is required";
  } else {
    $name = test_input($_POST["name"]);
    // check if name only contains letters and whitespace
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
      $nameErr = "Only letters and white space allowed";
    }
  }

  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } else {
    $email = test_input($_POST["email"]);
    // check if e-mail address is well-formed
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $emailErr = "Invalid email format";
    }
  }

  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = test_input($_POST["website"]);
    // check if URL address syntax is valid (this regular expression also allows dashes in the URL)
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
      $websiteErr = "Invalid URL";
    }
  }

  if (empty($_POST["comment"])) {
    $comment = "";
  } else {
    $comment = test_input($_POST["comment"]);
  }

  if (empty($_POST["gender"])) {
    $genderErr = "Gender is required";
  } else {
    $gender = test_input($_POST["gender"]);
  }
}
?>
»Exécuter exemple

L'étape suivante consiste à montrer comment empêcher la forme de vider tous les champs d'entrée lorsque l'utilisateur soumet le formulaire.