Acest capitol arată cum să facă câmpurile de intrare necesare și de a crea mesaje de eroare, dacă este necesar.
PHP - Câmpuri obligatorii
Din tabelul de reguli de validare pe pagina anterioară, vom vedea că "Name" , "E-mail" , și "Gender" câmpurile sunt obligatorii. Aceste câmpuri nu pot fi goale și trebuie să fie completat în formularul HTML.
Camp | Reguli de validare |
---|---|
Nume | Necesar. + Trebuie să conțină doar litere și spații albe |
Necesar. + Trebuie să conțină o adresă de e - mail validă (with @ and .) | |
website | Opțional. În cazul în care este prezent, acesta trebuie să conțină o adresă URL validă |
cometariu | Opțional. Câmp de intrare multi-linie (textarea) |
Gen | Necesar. Trebuie să selectați unul |
În capitolul anterior, toate câmpurile de intrare au fost opționale.
În următorul cod am adăugat câteva noi variabile: $ nameErr, $ emailErr, $ genderErr, și $ websiteErr. Aceste variabile de eroare vor organiza mesaje de eroare pentru câmpurile obligatorii. Am adăugat, de asemenea, o declarație, dacă altcineva pentru fiecare variabilă $ _POST. Acest lucru verifică dacă variabila de $ _POST este gol (with the PHP empty() funcția). Dacă este gol, un mesaj de eroare este stocat în diferitele variabile de eroare, iar în cazul în care nu este gol, acesta trimite datele introduse de utilizator prin intermediul test_input() Funcția:
<?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"]);
}
if (empty($_POST["email"]))
{
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
}
if (empty($_POST["website"]))
{
$website = "";
} else {
$website = test_input($_POST["website"]);
}
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"]);
}
}
?>
PHP - Afișează mesaje de eroare
Apoi, în forma HTML, vom adăuga un pic de script după fiecare câmp obligatoriu, care generează mesajul de eroare corect, dacă este necesar (adică în cazul în care utilizatorul încearcă să trimită formularul fără să completeze câmpurile obligatorii):
Exemplu
<form method="post" action="<?php echo
htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="error">*
<?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type="text" name="email">
<span
class="error">* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type="text" name="website">
<span
class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5"
cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender"
value="female">Female
<input type="radio" name="gender" value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input
type="submit" name="submit" value="Submit">
</form>
Run exemplu » Următorul pas este de a valida datele de intrare, care este "Does the Name field contain only letters and whitespace?" Și "Does the E-mail field contain a valid e-mail address syntax?" de "Does the E-mail field contain a valid e-mail address syntax?" Și în cazul în care a completat, "Does the Website field contain a valid URL?" - "Does the Website field contain a valid URL?" .