This chapter shows how to make input fields required and create error messages if needed.
Энэ бүлэгт оролтын талбаруудыг шаардлагатай болгож, шаардлагатай бол алдааны мэдэгдлүүд хэрхэн үүсгэхийг харуулсан болно.
PHP – Required Fields #
PHP – Шаардлагатай талбарууд #
From the validation rules table on the previous page, we see that the “Name”, “E-mail”, and “Gender” fields are required. These fields cannot be empty and must be filled out in the HTML form.
Өмнөх хуудсан дээрх баталгаажуулах дүрмийн хүснэгтээс “Нэр”, “И-мэйл”, “Хүйс” гэсэн хүснэгтүүд шаардлагатай байгааг бид харж байна. Эдгээр хүснэгтүүд хоосон байж болохгүй тул HTML хэлбэрээр бөглөх ёстой.
Field | Validation Rules |
---|---|
Name |
Required. + Must only contain letters and whitespace Шаардлагатай. + Зөвхөн үсэг ба хоосон зайг агуулсан байх ёстой |
|
Required. + Must contain a valid email address (with @ and .) Шаардлагатай. + Зөв имэйл хаяг агуулсан байх ёстой (@ ба. Хамт) |
Website |
Optional. If present, it must contain a valid URL Нэмэлт. Хэрэв байгаа бол энэ нь зөв URL агуулсан байх ёстой |
Comment |
Optional. Multi-line input field (textarea) Нэмэлт. Олон мөр оруулах хүснэгт (текст) |
Gender |
Required. Must select one Шаардлагатай. Нэгийг нь сонгох ёстой |
In the previous chapter, all input fields were optional. – Өмнөх бүлэгт бүх оролтын талбарууд сонголттой байсан.
In the following code we have added some new variables: $nameErr, $emailErr, $genderErr, and $websiteErr. These error variables will hold error messages for the required fields. We have also added an if else
statement for each $_POST variable. This checks if the $_POST variable is empty (with the PHP empty()
function). If it is empty, an error message is stored in the different error variables, and if it is not empty, it sends the user input data through the test_input()
function: –
Дараах кодонд бид зарим шинэ функцуудыг нэмж оруулсан: $ nameErr, $ emailErr, $ genderErr, $ websiteErr. Эдгээр алдааны хувьсагчид шаардлагатай талбаруудад алдааны мэдэгдлийг хадгалах болно. Бид мөн $ _POST хувьсагч бүрт if else
хэллэг нэмж оруулсан. Энэ нь $ _POST хувьсагч хоосон (PHP empty()
функцтэй) эсэхийг шалгана. Хэрэв энэ нь хоосон байвал алдааны мэдэгдэл нь өөр өөр алдааны хувьсагчид хадгалагдах бөгөөд хэрэв хоосон биш бол хэрэглэгчийн оруулсан өгөгдлийг test_input()
функцээр дамжуулан илгээнэ.
<?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 – Display The Error Messages #
PHP – Алдааны мессежийг харуулах #
Then in the HTML form, we add a little script after each required field, which generates the correct error message if needed (that is if the user tries to submit the form without filling out the required fields): –
Дараа нь HTML хэлбэрт бид шаардлагатай талбар бүрийн дараа бага зэрэг скрипт нэмж оруулдаг бөгөөд хэрэв шаардлагатай бол зөв алдааны мэдэгдлийг үүсгэдэг (хэрэв хэрэглэгч шаардлагатай талбарыг бөглөхгүйгээр маягтаа оруулахыг оролдвол).
<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
<input type="radio" name="gender" value="other">Other
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
The next step is to validate the input data, that is “Does the Name field contain only letters and whitespace?”, and “Does the E-mail field contain a valid e-mail address syntax?”, and if filled out, “Does the Website field contain a valid URL?”. –
Дараагийн алхам бол оролтын өгөгдлийг баталгаажуулах явдал бөгөөд “Нэрийн талбарт зөвхөн үсэг, хоосон зай багтах уу?”, “И-мэйл талбарт хүчинтэй имэйл хаягийн синтакс орсон уу?”, Хэрэв бөглөсөн бол ” Вэбсайт талбарт хүчинтэй URL байгаа юу? “.