بسم الله الرحمن الرحيم492114a0-803c-4ccc-954c-758c3f7a1ea2
تحدثنا في الدرس السابق و هو الجزء الأول من التعامل مع النماذج في لغة php عن النماذج و فوائدها و كيفية التعامل معها و تصميمها و بالإضافة الى بعض الوسوم tages الأساسية في لغة html و كيفية تركيبها لتصميم نموذج بالإضافة الى بعض المواقع التي تفيد متابعي الدورة في تصميم النماذج و بإمكانكم متابعة الدروس السابقة من خلال الفهرس التالي :
- [دورة php - الدرس الأول] - تحضير البرامج و كتابة اول برنامج
- [دورة php - الدرس الثاني] - المتغيرات و طريقة تعريفها و انواعها و التعامل معها
- [دورة php - الدرس الثالث] - الجزء الأول : الطباعة المدمجة و تنسيق الصفحات لعرضها
- [دورة php - الدرس الرابـع] - الجزء الثاني : طباعة المتغيرات في النصوص و بعض الدوال
- [دورة php - الدرس الخامس] - الثوابت و متغيرات النظام و دوال لا يستغني عنها اي مبرمج
- [دورة php - الدرس السادس] - الجزء الأول : النماذج و كيفية تصميمها و فوائدها
اما في درس اليوم سنتحدث عن برمجة النماذج بلغة php و الإستفادة منها و كيفية تطويعها لكسب اقصى امكانياتها لجعل المواقع التي نقوم ببرمجتها اكثر ديناميكية و سلاسة و تواصل مع المستخدم و على بركة الله نبدأ
في البداية سوف نراجع الدرس السابق مراجعة سريعة جدا لتكون معلوماتنا متصلة بمعلومات هذا الدرس و قد سبق و شرحنا الفائدة من النماذج و كيفية تصميمها و ذكرنا ان النموذج يقوم بإرسال البيانات التي ادخلت عليه مثل الرقم الجامعي و الرقم السري عند الضغظ على الزر (submit) الى صفحة محددة نكون قد حددناها في وسم tage النموذج بالخاصية action و قد تحدثنا عنها في الدرس السابق و ايضا هذه البيانات تنتقل الى هذه الصفحة التي حددناها بإحدى الطريقتين اما GET او POST و قد تحدثنا عنهم بالتفصيل و الآن لنكمل درسنا
لنفرض اننا قمنا بتصميم نموذج يحتوي على خانتين نص text و خانة زر ارسال و الخانتين ذات النوع text قمنا بتحديد الخاصية name لهم بـ num1 للخانة الأولى و num2 للخانة الثانية و قمنا ايضا بتحديد استخدام الطريقة GET في خاصية النموذج method و ايضا قمنا بتحديد صفحة معالجة بيانات النموذج في الخاصية action على ان اسمها هو process.php و الكود التالي هو كود تصميم النموذج بلغة html و يوضح كل الخواص التي ذكرتها في السطور السابقة :
</b>كود PHP:
<form action='process.php' method='GET'>
Enter Number 1 :
<input type='text' name='num1'><br/>
Enter Number 2 :
<input type='text' name='num2'><br/>
<input type='submit' value='calculate the sum'>
</form>
الآن خطوات العمل كالتالي :
1 - افتح القرص C ثم اذهب الى المسار التالي : C:\AppServ\www
2 - قم بإنشاء مجلد جديد new folder و قم بتسميته less7
3 - افتح محرر النصوص و اكتب الكود السابق ثم احفظه في المجلد الذي انشئناه (less7) بإسم form.html لاحظ الصيغة هنا و هي html و ليس php لأنها تصميم فقط
لاحظ الخطوات السابقة بالصور لحفظ صفحة html :
و بعد الإنتهاء و إكمال الخطوات السابقة بإمكانك معاينة الصفحة كالتالي :
http://localhost/less7/form.html
هذه هي طريقة حفظ صفحة html و فيها نموذج و الآن بإمكاننا العودة الى php
بعد ان اتممنا العمل السابق الآن لنفرض ان شخص قام بإدخال الرقم الأول في الخانة الآولى و الرقم الثاني في الخانة الثانية مثل الصورة التالية :
ثم قام بالضغظ على الزر ما الأمر الذي سوف يحصل
مما لا شك فيه و بما اننا لم نتم عملية البرمجة بلغة php لهذا النموذج فإنه لن يحصل شيء و لكن النموذج عادة سيرسل هذه البيانات الى صفحة المعالجة process.php فإن وجدها فإنها تستقبل البيانات و تقوم بمعالجتها و إجراء العمليات المطلوبة عليها اما اذا لم تجدها فإنه سيحول الى صفحة خطأ
الآن السؤال الذي يطرح نفسه كيف تقوم صفحة المعالجة process.php بإستقبال البيانات و ما هي العمليات الممكنة على هذه البيانات ؟؟
الإجابة هي ان php تدعمنا للتعامل مع النماذج بشيء يسمى المصفوفات الخارقة strong array و هي نوع خاص من المصفوفات يستخدم عادة مع النماذج و وظيفة هذه المصفوفات ان تقوم بإستقبال بيانات النموذج و تخزينها في المتغيرات او طباعتها او اجراء عمليات حسابية عليها او تخزينها في ملفات خاصة او قواعد البيانات او غيرها
فالعملية اشبه بطالب يكتب لمدرسه سؤال : كم نتيجة 1 + 1 و يرسلها للمدرس فيقوم المدرس بمعالجة السؤال و اجراء العملية الحسابية ثم اعادة النتيجة للطالب او كتابتها على الورقة
الآن ما هي المصفوفات الخارقة و كيف تستخدم في الكود ؟؟
المصفوفات الخارقة لها عدة انواع سنتحدث عن نوعين منها و هي كالتالي :
1- GET_$ و هي مصفوفة وظيفيتها استقبال بيانات من النموذج بالطريقة GET إذا كان النموذج محددا في الخاصية method و الصيغة العامة لها التالي :
اي بمعنى اجلب البيانات من النموذج من الحقل المحدد بين الأقواس [] بالطريقة GET ثم قم بتخزينه في المتغير var$
و كإستخدام عليها في مثالنا كالتالي :
قمنا بعمل نموذج و حددنا الطريقة GET ثم قمنا بحمل حقلين للنص و اسندنا اليهم الخاصية name على انها num1 و num2 و هنا تعتبر هذه الأسماء من اهم الأشياء لأننا سنستخدمها في الكود لاحظ الكود التالي ثم الشرح :
اي اجلب القيمة الموجودة في النموذج في الحقل ذو الأسم num1 و قم بتخزينه في المتغير var1 بالطريقة GET
ثم اجلب القيمة الموجودة في النموذج في الحقل ذو الأسم num2 و قم بتخزينه في المتغير var2 بالطريقة GET
ثم اجمع المتغير var1 و var2 و خزن النتيجة في sum
ثم اطبع الناتج على الصفحة
2 -POST_$ : و هي نفس الطريقة GET تماما لكن قم بتغيير كل كلمة GET الى POST في النماذج و في الكود كالتالي :
في النموذج form.html :
</b>كود PHP:
<form action='process.php' method='POST'>
Enter Number 1 :
<input type='text' name='num1'><br/>
Enter Number 2 :
<input type='text' name='num2'><br/>
<input type='submit' value='calculate the sum'>
</form>
و في كود المعالجة : process.php
والفرق الوحيد بينهم تم ذكره في الدرس السابق و هو كمية البيانات المرسلة و الحماية
ملاحظة يجب حفظ الصفحة form.html و كود المعالجة process.php في نفس المجلد less7 و الكود process.php يحفظ بطريقة طبيعية مثل الدروس السابقة
و لمعاينة الدرس ادخل الى الرابط التالي و ادخل رقمين و اضغط على الزر ليظهر ناتج جمعهم :
http://www.al79n-php.info/less7/form.html
بهذا اخواني نكون قد انهينا درس اليوم و اعتقد انه متداخل نوعا ما و فيه نوع من الصعوبة عليكم لكن بقليل من التركيز ستتوضح كل الأمور و انا هنا لإستفساراتكم و اسئلتكم
و الدرس القادم سيكون تطبيق على النماذج لتتضح الفكرة لكم لأنها من اهم مكونات لغات الويب
1.03.01492114a0-803c-4ccc-954c-758c3f7a1ea2
1.03.01
مواقع النشر (المفضلة)