السبت، 28 نوفمبر 2015

التحقق من صحة النموذج Form Validation

هذا الفصل يظهر كيفية استخدام PHP للتحقق من صحة بيانات النموذج.

النموذج form:
عندما تقوم بإنشاء بريد الكتروني جديد لدى الياهو , او الهوتميل , يتوجب عليك ان تقوم بتعبئة نموذج التسجيل , الذي يتضمن الاسم وكلمة المرور والبريد المراد انشائه , كل هذا نقوم عمله عن طريق النماذج ( FORMS ) واتوقع ان لديك شوق كبير لكي تقوم بفعل مثل هذه الامور في كود او برنامجك او موقعك البرمجي قريبا , اذا ما نقصد به بي النماذج هو ان تقوم بتعبئة نموذج بمعلومات مطلوبه , ثم ارسالها . واعتقد انك لاحظت ان بعض النماذج تحتوى على انواع كثيره , مثل مربعات الكتابه , مربعات النصوص الكبيره , مربعات الاختيار , ازرار الاختيار , حقول الاختيار ,
---------------------------------------------------------------
تنبيه:
يعتبر SECURITY عند معالجة أشكال PHP!
سوف تظهر هذه الصفحات كيفية معالجة أشكال PHP مع اخذ الجانب الامني بنظر الاعتبار. التحقق من صحة البيانات في النموذج مهم لحماية النموذج الخاص بك من المتسللين والمتطفلين!

شكل HTMLالتالي  سوف نعمل عليه في هذا الفصل ، ويحتوي على حقول الإدخال المختلفة: المطلوبة والحقول الاختيارية النص، أزرار الراديو، وزر الإرسال:

قواعد التحقق من صحة النموذج أعلاه هي كما يلي:
name: يجب ان تحتوي على حروف وفراغ فقط .
E-mail:يجب ان تحتوي على محتوى عنوان بريد الالكتروني مع @.
Website :اختياري. إذا كان موجودا، فإنه يجب أن يحتوي على URL صالح.
Comment:يجب ان يكون هذا الصندوق ذو سعة كبيرة للاستقبال البيانات المدرجة فيه .
Gender: يجب ان يتم اختيار نوع الجنس اما ذكر او انثى .

نبدأ بكيفية انشاء صناديق النص Text Fields في مرحلة كود HTML
Name: <input type="text" name="name">
E-mail: <input type="text" name="email">
Website: <input type="text" name="website">
Comment: <textarea name="comment" rows="5" cols="40"></textarea>

الان نقوم بانشاء ازرار الاختيار Radio Buttons في مرحلة كود HTML
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male


مرحلة التحقق من بيانات النموذج مع  Validate Form Data With   PHP

<!DOCTYPE HTML> 
<html>
<head>
</head>
<body> 

<?php
//
تعريف المتغيرات وجعل قيمتها فارغة 
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
 // test_inputرسال البيانات الى دالة المعالجة  
   $name = test_input($_POST["name"]);
   $email = test_input($_POST["email"]);
   $website = test_input($_POST["website"]);
   $comment = test_input($_POST["comment"]);
   $gender = test_input($_POST["gender"]);
}
//
دالة المعالجة
function test_input($data) {
//ازالة الفراغات من نهاية وبداية النص
   $data = trim($data);
//تقوم بازالة /  من النص    $data = stripslashes($data);
// (<,&gt,$lt)الى رموز خاصة html تحويل الاحرف الخاصة بلغة    $data = htmlspecialchars($data);
//اعادة قيمة للدالة   return $data;
}
?>

<h2>PHP Form Validation Example</h2>
// تقوم بطباعة النتيجة في نفس الصفحة, post   انشاء نموذج باستخدام 
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
   Name: <input type="text" name="name">
   <br><br>
   E-mail: <input type="text" name="email">
   <br><br>
   Website: <input type="text" name="website">
   <br><br>
// cols="40" و rows="5" من خلال   comment تحديد مساحة صندوق 
   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
   <br><br>
   <input type="submit" name="submit" value="Submit"> 
</form>


<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>


</body>
</html>


هناك تعليق واحد :

  1. سلام عليكم
    اقدر لكم هذا الابداع واشكركم على نشره للانتفاع به
    ولدي طلب
    اذا جعلت المدخلات في form في صفحة login.php عبارة عن الاسم وكلمة المرور
    واردت الانتقال الى الصفحة الرسمية hom.php
    لكن بشرط ان يكون المتسخدم name عدة اسماء محددة في مصفوفة متغير admins$
    فاذا ادخل اسم غير الاسماء المحجوزة لا يفتح الموقع
    كما انه لا يفتح الموقع الا بالمرور في صفحة التسجيل وادخال الاسم وكلمة المرور
    تقبلوا تحياتي

    ردحذف