Dieses Kapitel zeigt, wie Namen, E-Mails und URLs zu validieren.
PHP - Validate-Name
Der folgende Code zeigt eine einfache Art und Weise, wenn der Name Feld enthält Buchstaben und Leerzeichen nur zu überprüfen. Wenn der Wert des Namensfeld nicht gültig ist, dann speichern Sie eine Fehlermeldung:
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name))
{
$nameErr = "Only letters and white space allowed";
}
Die preg_match () Funktion sucht eine Zeichenfolge für Muster und gibt true zurück , wenn das Muster existiert, und andernfalls false. |
PHP - Validate E-Mail
Der einfachste und sicherste Weg, um zu überprüfen, ob eine E-Mail-Adresse ist wohlgeformt ist PHP filter_var () Funktion zu verwenden.
In dem folgenden Code, wenn die E-Mail-Adresse ist nicht wohlgeformt, dann speichert eine Fehlermeldung:
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr =
"Invalid email format";
}
PHP - URL validieren
Der folgende Code zeigt eine Möglichkeit zu überprüfen , ob eine URL - Adresse Syntax gültig ist (this regular expression also allows dashes in the URL) . Wenn die URL-Adresse Syntax nicht gültig ist, dann speichern Sie eine Fehlermeldung:
$website = test_input($_POST["website"]) ;
if
(! preg_match("/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))
{
$websiteErr = "Invalid URL";
}
PHP - Validate Name, E-Mail und URL
Nun sieht das Skript wie folgt aus:
Beispiel
<?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"]);
}
}
?>
Führen Sie zB » Der nächste Schritt ist zu zeigen, wie die Form, um zu verhindern Entleerung alle Eingabefelder, wenn der Benutzer das Formular abschickt.