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";
}
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.