سنقدم في هذا القسم كيفية التحقق من الأسماء وعناوين البريد الإلكتروني وعناوين URL.
سيستخدم التعليمة البرمجية التالية طريقة بسيطة لاكتشاف ما إذا كان حقل الاسم يحتوي على أحرف ومسافات. إذا كانت قيمة حقل الاسم غير قانونية، فسيتم إخراج رسالة خطأ:
$name = test_input($_POST["name"]);if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "يسمح فقط بالأحرف والمسافات"; }
preg_match - إجراء مطابقة التعبير العادي. القواعد: int preg_match (سلسلة $pattern، سلسلة $subject [، array $matches [، int $flags ]]) يبحث في سلسلة الموضوع عن تطابق مع التعبير العادي المعطى بواسطة النمط. إذا تم توفير التطابقات، فسيتم ملؤها بنتائج البحث. سيحتوي $matches[0] على نص يطابق النمط بأكمله، وسيحتوي $matches[1] على نص يطابق أول نمط فرعي تم التقاطه بين قوسين، وهكذا. |
سيتحقق الكود التالي مما إذا كان عنوان البريد الإلكتروني شرعيًا بطريقة بسيطة. إذا كان عنوان البريد الإلكتروني غير قانوني، سيتم إخراج رسالة خطأ:
$email = test_input($_POST["email"]);if (!preg_match("/([w-]+@[w-]+.[w-]+)/" ,$email)) { $emailErr = "تنسيق بريد إلكتروني غير قانوني" };
سوف يتحقق التعليمة البرمجية التالية مما إذا كان عنوان URL قانونيًا (يتم تشغيل التعبير العادي التالي في عنوان URL الذي يحتوي على شرطات: "-"). إذا كان عنوان URL غير قانوني، فسيتم إخراج رسالة خطأ:
$website = test_input($_POST["website"]);if (!preg_match("/b(?:(?:https?|ftp)://|www.)[-a-z0- 9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|]/i",$website)) { $websiteErr = "عنوان URL غير قانوني" };
يبدو الرمز كما يلي:
<?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 (!preg_match("/^[a-zA-Z ]*$/",$name) ) { $nameErr = "يسمح فقط بالأحرف والمسافات"; } } if (empty($_POST["email"])) { $emailErr = "البريد الإلكتروني مطلوب" } else { $email = test_input($_POST["email"]); // تحقق مما إذا كان البريد الإلكتروني قانونيًا if (!preg_match("/([w-]+@[w-]+.[w- ]+ )/",$email)) { $emailErr = "تنسيق بريد إلكتروني غير قانوني"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // تحقق مما إذا كان عنوان URL قانونيًا if (!preg_match("/b(?:(?:https?|ftp)://|www.) [- a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|]/i",$ موقع إلكتروني) ) { $websiteErr = "عنوان URL غير قانوني"; } } if (empty($_POST["comment"])) { $comment = "" } else { $comment = test_input($_POST["comment"] } if (empty($_POST["gender"])) { $genderErr = "الجنس مطلوب" } else { $gender = test_input($_POST["gender"]);