منتديات النورس
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

التأكد من صحة بيانات المستخدم المرسلة عبر النماذج(1)

اذهب الى الأسفل

التأكد من صحة بيانات المستخدم المرسلة عبر النماذج(1) Empty التأكد من صحة بيانات المستخدم المرسلة عبر النماذج(1)

مُساهمة من طرف admin الخميس مارس 11, 2010 3:37 am

مقدمة :
يدور موضوع هذه الدراسة حول موضوع هام قد يتجاهله بعض المطورون و خاصة الهواة منهم , ألا و هو التـأكد و التحقق من البيانات التي يقوم المستخدم بإدخالها عبر نموذج تفاعلي على الانترنت .

في البداية سنقوم بتوضيح أهمية هذا الموضوع لكل مبرمج يقوم بتطوير تطبيقات ويب و بعد ذلك سنقوم سوية ببناء مكتبة من التوابع و الاجرائيات و التي يمكنك استخدامها فيما بعد , و ستكون مهمة هذه المكتبة التأكد من المعلومات التي يدخلها المستخدم لنموذج HTML , و ستكون المكتبة عبارة عن صف مكتوب بلغة البرمجة PHP حيث يمكنك استدعاؤه ضمن برنامجك فيما بعد ,و هكذا بعد أن تنتهي من قراءة المقالة ستكون قد حصلت على الصف و سيكون بإمكانك الاستفادة منه في تطبيقاتك الأخرى و ليس هذا فحسب و إنما سنقوم بوضع مثالين آخرين لصفين جاهزين و مجانيين يمكنك الحصول عليهما عبر الانترنت و ذلك ضمن ملف مرفق ولكن بعد ان ننهي هذه الدراسة المهمة والتي ستستمر على ثلاثة دروس متتالية لذلك بعد الإنتهاء من الدرس
{التأكد من صحة بيانات المستخدم المرسلة عبر النماذج(3)}
لا تنسى تحميل الملف المرفق معه

سنقوم ببناء الصف سوية خطوة بخطوة انطلاقا من بنية الصف الأساسية و شرح كيفية استدعاؤه ضمن البرنامج الرئيسي و من ثم بناء الطرق (methods) و شرحها إلى أن نصل للصف النهائي , و بعد ذلك سنقوم معا ببناء برنامج بلغة HTM لكي نستفيد من هذا الصف و في النهاية يمكنك الحصول على جميع الشيفرات المصدرية لهذه الدراسة و تجريبها.
بقي أن ننوه إلى أنه قد لا تلبي التوابع الواردة جميع احتياجاتك و لكن بعد تعلمك المبدأ يمكنك تطوير الصف و إضافة التوابع التي تريدها بما يتناسب مع تطبيقك, و أخيرا تقدم المقالة فرصة مفيدة جدا للمطورين الذين لم يتعاملوا من قبل مع البرمجة غرضية التوجه و برمجة الصفوف (class) باستخدام لغة PHP , و قد يواجهون بعض الصعوبة في التأقلم معها و ولكنهم بالتأكيد سيستمتعون بها .

أهمية التأكد من المعلومات :

لعل أحد أكثر الأعمال شيوعا خلال القيام ببرمجة تطبيقات ويب هي كتابة شيفرة برمجية تقوم بالتأكد من المعلومات التي يقوم المستخدم بإدخالها عبر نموذج تفاعلي ضمن شبكة الانترنت, قد لا تشعر الآن بأهمية هذا الأمر و تعتبره أمرا لا معنى له و خاصة إذا كنت من الهواة , و لكن إذا قمت بسؤال أي شخص ذو خبرة و لو قليلة في مجال تطوير تطبيقات ويب فلن يتردد بتوضيح أهمية هذا الأمر لك, و أنه يستحق قراءة هذه الدراسة.

يعتبر التأكد من البيانات التي يدخلها المستخدم أحد إجراءات الأمان الأكثر أهمية و التي ينبغي على المطور أن يقوم بدمجها ضمن تطبيقه, و قد يسبب التغاضي عن هذا الأمر الوقوع في مشاكل جدية و قد تجعل التطبيق – في حالات عديدة – يتوقف عن الاستجابة عندما تكون البيانات خاطئة .

دعونا نوضح أهمية هذا الأمر بمثال بسيط, تخيل أنك تقوم ببناء تطبيق لحساب سعر قطعة معينة حيث يقوم المستخدم بإدخال قيمة القطع الكلية و عدد القطع و بنتيجة التنفيذ و الضغط على "موافق" يقوم التطبيق بحساب سعر القطعة الواحدة من خلال تقسيم السعر الكلي للقطعة إلى عدد القطع , و لنفترض انك قمت ببناء هذا التطبيق دون وضع أية آلية لاكتشاف الأخطاء المحتمل حدوثها نتيجة إدخالات خاطئة من قبل المستخدم , مبروك لقد أنهيت تطبيقك بسرعة ووضعته على شبكة الانترنت و لم تتخيل بعد ما قد يحدث في المستقبل نتيجة عدم التأكد من البيانات , الآن انتهى دورك كمبرمج و جاء دور المستخدم لاستثمار برنامجك و الاستفادة منه و لنلاحظ هذين المستخدمين:

المستخدم الأول: قام بإدخال الأعداد بطريقة نصية (String) و ليست عددية. عندئذ لن يعمل البرنامج بالطبع و ستظهر رسالة خطأ برمجي لا تدل المستخدم بشكل واضح , ها أنا أسمعك تقول لي و أين المشاكل الجدية التي هددتني بها ؟ لن أرد عليك و أدعوك لملاحظة ما سيقوم به المستخدم الثاني .

المستخدم الثاني: قام بإدخال القيم بشكل عددي نظامي و لكنه عن طريق الخطأ أو القصد قام بإدخال عدد القطع مساويا للرقم السحري صفر و من ثم قام بالنقر على "موافق", سأدعك الآن تتخيل ماذا سيحدث لتطبيقك المسكين وهو يحاول القسمة على صفر , و هنا لن تكون النتيجة مجرد رسالة خطأ و قد يتعدى الأمر ذلك إلى توقف التطبيق عن الاستجابة و لن يكون بمقدور المستخدم التراجع عن خطئه القاتل .

بعد هذه الرحلة التخيلية القصيرة لا بد أنك و قد أحطت علماً بأهمية هذا الموضوع و إذا كنت قد تجاوزته في تطبيقاتك السابقة سواء بسبب الإهمال أو التجاهل فإنني متأكد انك من الآن و صاعداً ستقوم بمعالجته في تطبيقاتك الجديدة و لن تتخلى عنه بعد اليوم فياله من أمر محرج أن يكتشف المستخدم ذلك , وهكذا أكاد أجزم أن التأكد من البيانات هو احد الأمور القليلة التي ستحتاج للقيام بها كثيرا – أنت و غيرك من المطورين المحترفين – عند بناء تطبيقاتك و أعتقد أن قضاء بعض الوقت الآن من خلال فهم و تطبيق هذه الدراسة سيوفر وقتك مستقبلا من خلال الاستفادة من الصف , و إغنائك عن المشاكل المستقبلية محققا لنصيحة الحكماء الوقاية خير من العلاج , دعونا ننطلق الآن إلى عالم البرمجة و تحقيق مهمتنا .


نظرة سريعة لبنية الصف (Class) بلغة PHP


دعونا نلقي نظرة سريعة على أساسيات كتابة صف ما بلغة PHP , إذا لم تتعامل مع الصف من قبل فسيتبادر إلى ذهنك مباشرة السؤال البديهي ما هو الصف ؟

لن أعقد عليك الإجابة و أسرد لك المفاهيم البرمجية وأقول يمكنك اعتبار الصف ببساطة مجموعة من العبارات البرمجية التي تقوم بأداء وظيفة معينة, و يعد الصف وحدة مستقلة و يحتوي على المتحولات و التوابع الخاصة به , و يمكنك استدعاؤه من أي برنامج و الاستفادة من هذه المتحولات و التوابع , و أكثر من هذا تقدم لك لغةPHP إمكانية خلق أكثر من متحول من نفس الصف , و تدعى الأغراض (Objects ) أي كأن الصف هو نوع بيانات و عندئذ يكون لكل غرض متحولاته و طرقه (Methods) الخاصة به, و كمثال على ذلك نفرض أننا قمنا ببناء صف يعبر عن طالب ما و يحتوي متحولات و طرق خاصة به (الاسم – العمر - ....) ,الآن يمكنك ضمن برنامجك الرئيسي تعريف مصفوفة أغراض تعبر عن مجموعة من الطلاب و يصبح كل حقل من حقول المصفوفة عبارة عن طالب مستقل بمتحولاته و طرقه .

تساعدك الصفوف على تقسيم برنامجك إلى مجموعة من الكتل البرمجية المستقلة عن بعضها البعض و من ثم مجرد استدعاء التوابع ضمن الصفوف في برنامجك الرئيسي و هذا يسهل لك العمل و يجنبك من الوقوع في مشكلة تداخل الشيفرة و تدعى البرمجة باستخدام الصفوف بالبرمجة غرضية التوجه .

يتألف الصف من قسمين رئيسين :

• الخصائص " properties " : و تحتوي متحولات خاصة بالصف .
• الطرق "methods " : و تحتوي التوابع الخاصة بالصف .

مثال:
ليكن الصف التالي الذي يعبر عن عربة تسوق و له الاسم " ShoppingCart " و يحتوي على :
الخصائص : و هي عبارة عن متحولات مثل عدد القطع " items " , الكميات " quantities " , الأسعار " prices" .
الطرق : و هي عبارة عن توابع مثل التأكد من عملية الدفع " validate_credit_card "


تكون الشفرة البرمجة كالتالي:

الكود:

    <?php
    class ShoppingCart
    {
            // this is where the properties are defined
            var $items;
            var $quantities;
            var $prices;
            ...
            // this is where the methods are defined
            function validate_credit_card()
            {
            // code goes here
            }
            ...
    }
    ?>

بعد بناء هذا الصف و حفظه بامتداد ".class.inc" يمكننا استدعاؤه عن طريق الكلمة المفتاحية "new " و من ثم نقوم بإسناده لمتحول عادي كالتالي:

الكود:

    <? php
    $myCart = new ShoppingCart;
    ?>

و يمكنك الوصول لكل طرقه و متحولاته عن طريق المحدد "->" مسبوقا باسم الغرض و بعده المتحول أو الطريقة من الصف كالتالي:

الكود:

    <?php
    // accessing properties
    $myCart->items = array("eye of newt", "tail of lizard", "wings of bat");
    $myCart->quantities = array(9, 4, 14);
    // accessing methods
    $myCart->validate_credit_card();
    ?>


لقد انتهى الدرس لهذا اليوم وسنكمل هذه المواضيع في الدرس التالي
ولكن لا تنسو الدرس القادم سيبدأ من حيث انتهى هذا الدرس ولكن للسهولة في الدراسة اردت ان اقسم لكم الدرس

اتمنى ان القاكم بخير

admin
المدير العام للمنتدى
المدير العام للمنتدى

البلد : المنتدى ذكر عدد المساهمات : 68
النقاط : 1307
تاريخ التسجيل : 21/01/2009
العمر : 33

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى