Neueste Web-Entwicklung Tutorials
 

PHP 5 Formulare - Validate E-Mail und URL


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