PHP -vorms - Valideer e-pos en URL
Hierdie hoofstuk wys hoe om name, e-posse en URL's te bekragtig.
PHP - Bevestig naam
Die kode hieronder wys 'n eenvoudige manier om te kyk of die naamveld slegs letters, strepies, apostrofe en witspasies bevat. As die waarde van die naamveld nie geldig is nie, stoor dan 'n foutboodskap:
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z-' ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
Die preg_match()- funksie soek 'n string vir patroon, gee waar as die patroon bestaan, en anders vals.
PHP - Bekragtig e-pos
Die maklikste en veiligste manier om te kyk of 'n e-posadres goed gevorm is, is om PHP se filter_var() funksie te gebruik.
In die kode hieronder, as die e-posadres nie goed gevorm is nie, stoor dan 'n foutboodskap:
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
PHP - Bekragtig URL
Die kode hieronder wys 'n manier om te kyk of 'n URL-adressintaksis geldig is (hierdie gewone uitdrukking laat ook strepies in die URL toe). As die URL-adressintaksis nie geldig is nie, stoor dan 'n foutboodskap:
$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
PHP - Bevestig naam, e-pos en URL
Nou, die skrif lyk soos volg:
Voorbeeld
<?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"]);
}
}
?>
Die volgende stap is om te wys hoe om te verhoed dat die vorm al die invoervelde leegmaak wanneer die gebruiker die vorm indien.