ويبين هذا الفصل كيفية جعل حقول الإدخال المطلوبة وإنشاء رسائل خطأ إذا لزم الأمر.
الحقول المطلوبة - PHP
من الجدول قواعد التحقق من صحة في الصفحة السابقة، ونحن نرى أن "Name" ، "E-mail" ، و "Gender" يطلب من المجالات. هذه المجالات لا يمكن أن يكون فارغا ويجب تعبئة في شكل HTML.
حقل | قواعد التحقق من صحة |
---|---|
اسم | مطلوب. + يجب أن تحتوي فقط على الحروف والمسافات |
البريد الإلكتروني | مطلوب. + يجب أن تحتوي على عنوان بريد إلكتروني صالح (with @ and .) |
موقع الكتروني | اختياري. إذا كان موجودا، فإنه يجب أن تحتوي على URL صحيح |
تعليق | اختياري. حقل إدخال خط متعددة (textarea) |
جنس | مطلوب. يجب اختيار واحد |
في الفصل السابق، كانت جميع حقول الإدخال اختيارية.
في التعليمة البرمجية التالية واضاف لدينا بعض متغيرات جديدة: $ nameErr، $ emailErr، $ genderErr، و$ websiteErr. سوف المتغيرات الخطأ هذه تحمل رسائل الخطأ الحقول المطلوبة. واضاف لدينا أيضا إذا بيان آخر لكل متغير $ _POST. هذا يتحقق إذا كان المتغير $ _POST فارغ (with the 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 - عرض رسائل الخطأ
ثم في شكل 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
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input
type="submit" name="submit" value="Submit">
</form>
تشغيل المثال » والخطوة التالية هي للتحقق من صحة البيانات المدخلة، وهذا هو "Does the Name field contain only letters and whitespace?" و "Does the E-mail field contain a valid e-mail address syntax?" وإذا ملء، "Does the Website field contain a valid URL?" .