سنقدم في هذا الفصل كيفية تعيين حقول النموذج ورسائل الخطأ المطلوبة.
لقد قدمنا في الفصل السابق قواعد التحقق من صحة الجدول، حيث يمكننا أن نرى أن حقول "الاسم" و"البريد الإلكتروني" و"الجنس" مطلوبة ولا يمكن أن يكون كل حقل فارغًا.
مجال | قواعد التحقق من الصحة |
---|---|
اسم | مطلوب. + يمكن أن يحتوي فقط على أحرف ومسافات |
بريد إلكتروني | مطلوب. + يجب أن يحتوي على عنوان بريد إلكتروني صالح (يحتوي على "@" و"."") |
عنوان URL | خياري. إذا كان موجودًا، فيجب أن يحتوي على عنوان URL صالح |
ملاحظة | خياري. حقول متعددة الأسطر (حقول نصية). |
جنس | مطلوب. مطلوب لاختيار واحد. |
كما هو الحال في الفصول السابقة، جميع حقول الإدخال اختيارية.
في الكود التالي أضفنا بعض المتغيرات الجديدة: $nameErr، $emailErr، $genderErr، و$websiteErr. سيتم عرض متغيرات الخطأ هذه في الحقول المطلوبة. أضفنا أيضًا عبارة if else لكل متغير $_POST. ستتحقق هذه العبارات مما إذا كان المتغير $_POST فارغًا (باستخدام وظيفة PHP الفارغة (). إذا كان فارغًا، فسيتم عرض رسالة الخطأ المقابلة. إذا لم تكن فارغة، فسيتم تمرير البيانات إلى الدالة test_input():
<?php// حدد المتغيرات وقم بتعيينها على قيم فارغة افتراضيًا $nameErr = $emailErr = $genderErr = $websiteErr = "";$name = $email = $gender = $comment = $website = ""; if ($_SERVER ["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "الاسم مطلوب."; } else { $name = test_input($_POST["name"]) } if (empty($_POST["email"])) { $emailErr = "البريد الإلكتروني مطلوب." } 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 = "الجنس مطلوب."; } else { $gender = test_input($_POST["gender"]);
في نموذج HTML التالي، أضفنا بعض البرامج النصية إلى كل حقل. سيعرض كل برنامج نصي رسالة خطأ عند إدخال المعلومات بشكل غير صحيح. (إذا أرسل المستخدم النموذج دون ملء المعلومات، فسيتم إخراج رسالة خطأ):
<formmethod="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>"> الاسم: <input type="text" name="name"> <span>* <? php echo $nameErr;?></span> <br><br> البريد الإلكتروني: <input type="text" name="email"> <span>* <?php echo $emailErr;?></span > <br><br> الموقع الإلكتروني: <input type="text" name="website"> <span><?php echo $websiteErr;?></span> <br><br> ملاحظات: <textarea name=" تعليق" صفوف = "5" cols = "40"></textarea> <br><br> الجنس: <input type = "radio" name = "gender" value = "female"> أنثى <input type = "radio" " الاسم = "الجنس" value="male">ذكر<span>* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </ النموذج>