• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Announcement

Collapse

قوانين المنتدى " التعديل الاخير 17/03/2018 "

فيكم تضلو على تواصل معنا عن طريق اللينك: www.ch-g.org

قواعد المنتدى:
التسجيل في هذا المنتدى مجاني , نحن نصر على إلتزامك بالقواعد والسياسات المفصلة أدناه.
إن مشرفي وإداريي منتدى الشباب المسيحي - سوريا بالرغم من محاولتهم منع جميع المشاركات المخالفة ، فإنه ليس بوسعهم استعراض جميع المشاركات.
وجميع المواضيع تعبر عن وجهة نظر كاتبها ولا يتحمل أي من إدارة منتدى الشباب المسيحي - سوريا أي مسؤولية عن مضامين المشاركات.
عند التسجيل بالمنتدى فإنك بحكم الموافق على عدم نشر أي مشاركة تخالف قوانين المنتدى فإن هذه القوانين وضعت لراحتكم ولصالح المنتدى، فمالكي منتدى الشباب المسيحي - سوريا لديهم حق حذف ، أو مسح ، أو تعديل ، أو إغلاق أي موضوع لأي سبب يرونه، وليسوا ملزمين بإعلانه على العام فلا يحق لك الملاحقة القانونية أو المسائلة القضائية.


المواضيع:
- تجنب استخدام حجم خط كبير (أكبر من 4) او صغير (أصغر من 2) او اختيار نوع خط رديء (سيء للقراءة).
- يمنع وضع عدد كبير من المواضيع بنفس القسم بفترة زمنية قصيرة.
- التأكد من ان الموضوع غير موجود مسبقا قبل اعتماده بالقسم و هالشي عن طريق محرك بحث المنتدى او عن طريق محرك بحث Google الخاص بالمنتدى والموجود بأسفل كل صفحة و التأكد من القسم المناسب للموضوع.
- إحترم قوانين الملكية الفكرية للأعضاء والمواقع و ذكر المصدر بنهاية الموضوع.
- مو المهم وضع 100 موضوع باليوم و انما المهم اعتماد مواضيع ذات قيمة و تجذب بقية الاعضاء و الابتعاد عن مواضيع العاب العد متل "اللي بيوصل للرقم 10 بياخد بوسة" لأنو مخالفة و رح تنحزف.
- ممنوع وضع الاعلانات التجارية من دون موافقة الادارة "خارج قسم الاعلانات".
- ممنوع وضع روابط دعائية لمواقع تانية كمان من دون موافقة الادارة "خارج قسم الاعلانات".
- لما بتشوفو موضوع بغير قسمو او فيو شي مو منيح او شي مو طبيعي , لا تردو عالموضوع او تحاورو صاحب الموضوع او تقتبسو شي من الموضوع لأنو رح يتعدل او ينحزف و انما كبسو على "التقرير بمشاركة سيئة" و نحن منتصرف.
- لما بتشوفو موضوع بقسم الشكاوي و الاقتراحات لا تردو على الموضوع الا اذا كنتو واثقين من انكم بتعرفو الحل "اذا كان الموضوع عبارة عن استفسار" , اما اذا كان الموضوع "شكوى" مافي داعي تردو لأنو ممكن تعبرو عن وجهة نظركم اللي ممكن تكون مختلفة عن توجه المنتدى مشان هيك نحن منرد.
- ممنوع وضع برامج الاختراق او المساعدة بعمليات السرقة وبشكل عام الـ "Hacking Programs".
- ممنوع طرح مواضيع او مشاركات مخالفة للكتاب المقدس " الانجيل " وبمعنى تاني مخالفة للايمان المسيحي.
- ممنوع طرح مواضيع او مشاركات تمس الطوائف المسيحية بأي شكل من الاشكال "مدح او ذم" والابتعاد بشكل كامل عن فتح اي نقاش يحمل صبغة طائفية.
- ضمن منتدى " تعرفون الحق و الحق يحرركم " بالامكان طرح الاسئلة بصيغة السؤال والجواب فقط ويمنع فتح باب النقاش والحوار بما يؤدي لمهاترات وافتراض اجوبة مسبقة.


عناوين المواضيع:
- عنوان الموضوع لازم يعبر عن محتوى الموضوع و يفي بالمحتوى و ما لازم يكون متل هيك "الكل يفوت , تعوا بسرعة , جديد جديد , صور حلوة , الخ ....".
- لازم العنوان يكون مكتوب بطريقة واضحة بدون اي اضافات او حركات متل "(((((((((العنوان)))))))))))) , $$$$$$$$$ العنوان $$$$$$$$$".
- عنوان الموضوع ما لازم يحتوي على اي مدات متل "الــعــنـــوان" و انما لازم يكون هيك "العنوان".


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


العضوية:
- ممنوع استخدام اكتر من عضوية "ممنوع التسجيل بأكتر من اسم".
- ممنوع اضافة حركات او رموز لاسم العضوية متل " # , $ , () " و انما يجب استخدام حروف اللغة الانكليزية فقط.
- ممنوع اضافة المدات لاسم العضوية "الـعـضـويـة" و انما لازم تكون بهل شكل "العضوية".
- ممنوع استخدام اسماء عضويات تحتوي على الفاظ سوقية او الفاظ بزيئة.
- ممنوع وضع صورة رمزية او صورة ملف شخصي او صور الالبوم خادشة للحياء او الزوق العام.
- التواقيع لازم تكون باللغة العربية او الانكليزية حصرا و يمنع وضع اي عبارة بلغة اخرى.
- ما لازم يحتوي التوقيع على خطوط كتيرة او فواصل او المبالغة بحجم خط التوقيع و السمايليات او المبالغة بمقدار الانتقال الشاقولي في التوقيع "يعني عدم ترك سطور فاضية بالتوقيع و عدم تجاوز 5 سطور بحجم خط 3".
- ما لازم يحتوي التوقيع على لينكات "روابط " دعائية , او لمواقع تانية او لينك لصورة او موضوع بمنتدى اخر او ايميل او اي نوع من اللينكات , ما عدا لينكات مواضيع المنتدى.
- تعبئة كامل حقول الملف الشخصي و هالشي بساعد بقية الاعضاء على معرفة بعض اكتر و التقرب من بعض اكتر "ما لم يكن هناك سبب وجيه لمنع ذلك".
- فيكم تطلبو تغيير اسم العضوية لمرة واحدة فقط وبعد ستة اشهر على تسجيلكم بالمنتدى , او يكون صار عندكم 1000 مشاركة , ومن شروط تغيير الاسم انو ما يكون مخالف لشروط التسجيل "قوانين المنتدى" و انو الاسم الجديد ما يكون مأخود من قبل عضو تاني , و انو تحطو بتوقيعكم لمدة اسبوع على الاقل "فلان سابقا".
- يمنع انتحال شخصيات الآخرين أو مناصبهم من خلال الأسماء أو الصور الرمزية أو الصور الشخصية أو ضمن محتوى التوقيع أو عن طريق الرسائل الخاصة فهذا يعتبر وسيلة من وسائل الإحتيال.


الرسائل الخاصة:
الرسائل الخاصة مراقبة مع احترام خصوصيتا وذلك بعدم نشرها على العام في حال وصلكم رسالة خاصة سيئة فيكم تكبسو على زر "تقرير برسالة خاصة" ولا يتم طرح الشكوى عالعام "متل انو توصلكم رسالة خاصة تحتوي على روابط دعائية لمنتجات او مواقع او منتديات او بتحتوي على الفاظ نابية من سب او شتم او تجريح".
لما بتوصلكم رسائل خاصة مزعجة و انما ما فيها لا سب ولا شتم ولا تجريح ولا روابط دعائية و انما عم يدايقكم شي عضو من كترة رسائلو الخاصة فيكم تحطو العضو على قائمة التجاهل و هيك ما بتوصل اي رسالة خاصة من هالعضو.
و تزكرو انو الهدف من الرسائل الخاصة هو تسهيل عملية التواصل بين الاعضاء.


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


المخالفات:
بسبب تنوع المخالفات و عدم امكانية حصر هالمخالفات بجدول محدد , منتبع اسلوب مخالفات بما يراه المشرف مناسب من عدد نقط و مدة المخالفة بيتراوح عدد النقط بين 1-100 نقطة , لما توصلو لل 100 بتم الحظر الاوتوماتيكي للعضو ممكن تاخدو تنبيه بـ 5 نقط مثلا على شي مخالفة , و ممكن تاخد 25 نقطة على نفس المخالفة و ممكن يوصلو لل 50 نقطة كمان و هالشي بيرجع لعدد تكرارك للمخالفة او غير مخالفة خلال فترة زمنية قصيرة.
عند تلقيك مخالفة بيظهر تحت عدد المشاركات خانة جديدة " المخالفات :" و بيوصلك رسالة خاصة عن سبب المخالفة و عدد النقط و المدة طبعا هالشي بيظهر عندكم فقط.


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



رح نكتب شوية ملاحظات عامة يا ريت الكل يتقيد فيها:
• ابحث عن المنتدى المناسب لك و تصفح أقسامه ومواضيعه جيداً واستوعب مضمونه وهدفه قبل ان تبادر بالمشاركة به , فهناك الكثير من المنتديات غير اللائقة على الإنترنت .وهناك منتديات متخصصة بمجالات معينة قد لا تناسبك وهناك منتديات خاصة بأناس محددين.
• إقرأ شروط التسجيل والمشاركة في المنتدى قبل التسجيل به واستوعبها جيدأ واحترمها و اتبعها حتى لا تخل بها فتقع في مشاكل مع الأعضاء ومشرفي المنتديات.
• اختر اسم مستعار يليق بك وبصفاتك الشخصية ويحمل معاني إيجابية ، وابتعد عن الأسماء السيئة والمفردات البذيئة ، فأنت في المنتدى تمثل نفسك وأخلاقك وثقافتك وبلدك ، كما أن الاسم المستعار يعطي صفاته ودلالته لصاحبه مع الوقت حيث يتأثر الإنسان به بشكل غير مباشر ودون ان يدرك ذلك.
• استخدم رمز لشخصيتك " وهو الصورة المستخدمة تحت الاسم المستعار في المنتدى " يليق بك و يعبر عن شخصيتك واحرص على ان يكون أبعاده مناسبة.
• عند اختيارك لتوقيعك احرص على اختصاره ، وأن يكون مضمونه مناسباً لشخصيتك وثقافتك.
• استخدم اللغة العربية الفصحى وابتعد عن اللهجات المحكية " اللهجة السورية مستثناة لكثرة المسلسلات السورية " لانها قد تكون مفهومة لبعض الجنسيات وغير مفهومة لجنسيات أخرى كما قد تكون لكلمة في لهجتك المحكية معنى عادي ولها معنى منافي للأخلاق أو مسيء لجنسية أخرى . كذلك فإن استخدامك للغة العربية الفصحى يسمح لزوار المنتدى وأعضائه بالعثور على المعلومات باستخدام ميزة البحث.
• استخدم المصحح اللغوي وراعي قواعد اللغة عند كتابتك في المنتديات حتى تظهر بالمظهر اللائق التي تتمناه.
• أعطي انطباع جيد عن نفسك .. فكن مهذباً لبقاً واختر كلماتك بحكمة.
• لا تكتب في المنتديات أي معلومات شخصية عنك أو عن أسرتك ، فالمنتديات مفتوحة وقد يطلع عليها الغرباء.
• أظهر مشاعرك وعواطفك باستخدام ايقونات التعبير عن المشاعر Emotion Icon's عند كتابة مواضيعك وردودك يجب ان توضح مشاعرك أثناء كتابتها ، هل سيرسلها مرحة بقصد الضحك ؟ او جادة أو حزينه ؟ فعليك توضيح مشاعرك باستخدام Emotion Icon's ،لأنك عندما تتكلم في الواقع مع احد وجها لوجه فانه يرى تعابير وجهك وحركة جسمك ويسمع نبرة صوتك فيعرف ما تقصد ان كنت تتحدث معه على سبيل المزاح أم الجد. لكن لا تفرط في استخدام أيقونات المشاعر و الخطوط الملونة و المتغيرة الحجم ، فما زاد عن حده نقص.
• إن ما تكتبه في المنتديات يبقى ما بقي الموقع على الإنترنت ، فاحرص على كل كلمة تكتبها ، فمن الممكن ان يراها معارفك وأصدقائك وأساتذتك حتى وبعد مرور فترات زمنية طويلة.
• حاول اختصار رسالتك قدر الإمكان :بحيث تكون قصيرة و مختصرة ومباشرة وواضحة وفي صلب مضمون قسم المنتدى.
• كن عالمياً : واعلم أن هناك مستخدمين للإنترنت يستخدمون برامج تصفح مختلفة وكذلك برامج بريد الكتروني متعددة ، لذا عليك ألا تستخدم خطوط غريبة بل استخدم الخطوط المعتاد استخدامها ، لأنه قد لا يتمكن القراء من قراءتها فتظهر لهم برموز وحروف غريبة.
• قم بتقديم ردود الشكر والتقدير لكل من أضاف رداً على موضوعك وأجب على أسئلتهم وتجاوب معهم بسعة صدر وترحيب.
• استخدم ميزة البحث في المنتديات لمحاولة الحصول على الإجابة قبل السؤال عن أمر معين أو طلب المساعدة من بقية الأعضاء حتى لا تكرر الأسئلة والاستفسارات والاقتراحات التى تم الإجابة عنها قبل ذلك.
• تأكد من أنك تطرح الموضوع في المنتدى المخصص له: حيث تقسم المنتديات عادة إلى عدة منتديات تشمل جميع الموضوعات التي يمكن طرحها ومناقشتها هنا، وهذا من شأنه أن يرفع من كفاءة المنتديات ويسهل عملية تصنيف وتبويب الموضوعات، ويفضل قراءة الوصف العام لكل منتدى تحت اسمه في فهرس المنتديات للتأكد من أن مشاركتك تأخذ مكانها الصحيح.
• استخدم عنوان مناسب ومميِّز لمشاركتك في حقل الموضوع. يفضل عدم استخدام عبارات عامة مثل "يرجى المساعدة" أو "طلب عاجل" أو "أنا في ورطة" الخ، ويكون ذلك بكتابة عناوين مميِّزة للموضوعات مثل "كيف استخدم أمر كذا في برنامج كذا" أو "تصدير ملفات كذا إلى كذا".
• إحترم قوانين الملكية الفكرية للأعضاء والمواقع والشركات، وعليك أن تذكر في نهاية مشاركتك عبارة "منقول عن..." إذا قمت بنقل خبر أو مشاركة معينة من أحد المواقع أو المجلات أو المنتديات المنتشرة على الإنترنت.
• إن أغلب المنتديات تكون موجهه لجمهور عام ولمناقشة قضايا تثقيفية وتعليمية . لذلك يجب ان تكون مشاركتك بطريقة تحترم مشاعر الآخرين وعدم الهجوم في النقاشات والحوارات. وأي نشر لصور أو نصوص أو وصلات مسيئة، خادشة للحياء أو خارج سياق النهج العام للموقع.
• المنتدى لم يوجد من أجل نشر الإعلانات لذا يجب عدم نشر الإعلانات أو الوصلات التي تشير إلى مواقع إعلانية لأي منتج دون إذن او إشارة إلى موقعك أو مدونتك إذا كنت تمتلك ذلك.
• عدم نشر أي مواد أو وصلات لبرامج تعرض أمن الموقع أو أمن أجهزة الأعضاء الآخرين لخطر الفيروسات أو الدودات أو أحصنة طروادة.
•ليس المهم أن تشارك بألف موضوع فى المنتدى لكن المهم أن تشارك بموضوع يقرأه الألوف،فالعبرة بالنوع وليس بالكم.
• عدم الإساءة إلى الأديان أو للشخصيات الدينية.
•عند رغبتك بإضافة صور لموضوعك في المنتدى ، احرص على ألا يكون حجمها كبير حتى لا تستغرق وقتاً طويلاً لتحميلها وأن تكون في سياق الموضوع لا خارجه عنه.
•الالتزام بالموضوع في الردود بحيث يكون النقاش في حدود الموضوع المطروح لا الشخص، وعدم التفرع لغيره أو الخروج عنه أو الدخول في موضوعات أخرى حتى لا يخرج النقاش عن طوره.
• البعد عن الجدال العقيم والحوار الغير مجدي والإساءة إلى أي من المشاركين ، والردود التي تخل بأصول اللياقة والاحترام.
• احترم الرأي الآخر وقدر الخلاف في الرأي بين البشر واتبع آداب الخلاف وتقبله، وأن الخلاف في الرأي لا يفسد للود قضية.
• التروي وعدم الاستعجال في الردود ، وعدم إلقاء الأقوال على عواهلها ودون تثبت، وأن تكون التعليقات بعد تفكير وتأمل في مضمون المداخله، فضلاً عن التراجع عن الخطأ؛ فالرجوع إلى الحق فضيلة. علاوة على حسن الاستماع لأقوال الطرف الآخر ، وتفهمها تفهما صحيحا.
• إياك و تجريح الجماعات أو الأفراد أو الهيئات أو الطعن فيهم شخصياً أو مهنياً أو أخلاقياً، أو استخدام أي وسيلة من وسائل التخويف أو التهديد او الردع ضد أي شخص بأي شكل من الأشكال.
• يمنع انتحال شخصيات الآخرين أو مناصبهم من خلال الأسماء أو الصور الرمزية أو الصور الشخصية أو ضمن محتوى التوقيع أو عن طريق الرسائل الخاصة فهذا يعتبر وسيلة من وسائل الإحتيال.
• إذا لاحظت وجود خلل في صفحة أو رابط ما أو إساءة من أحد الأعضاء فيجب إخطار مدير الموقع أو المشرف المختص على الفور لأخذ التدابير اللازمة وذلك بإرسال رسالة خاصة له.
• فريق الإشراف يعمل على مراقبة المواضيع وتطوير الموقع بشكل يومي، لذا يجب على المشاركين عدم التصرف "كمشرفين" في حال ملاحظتهم لخلل أو إساءة في الموقع وتنبيه أحد أعضاء فريق الإشراف فوراً.
See more
See less

لغة الـ " Php "

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • لغة الـ " Php "

    لغة الـ " PHP "

    تتميز لغة PHP بالكثير من الخصائص التي جعلتها الخيار الأمثل لمبرمجي الويب في العالم :

    السهولة:
    تعتبر لغة PHP من أسهل لغات البرمجة تعلما، فهي تريحك من جميع تعقيدات إدارة الذاكرة وتعقيدات معالجة النصوص الموجودة في C من جهة، والكثير من الضعف الموجود في بينية وتصميم لغة البرمجة Perl من جهة أخرى.

    تمتلك لغة PHP بنية وقواعدا ثابته وواضحة جدا، معظم قواعد اللغة مأخوذة من كل من C و جافا و Perl لصنع لغة برمجة عالية السهولة والسلاسة دون فقدان أي من القوة في اللغة، يفيدك ذلك إذا كنت تعلم أي شيء عن لغات البرمجة الأخرى مثل Visual Basic أو C أو جافا حيث ستجد دائما بأنك تفهم مواد الدورة بسرعة، وستكتشف كيف تقوم PHP بتسهيل أصعب الأمور وإذلال العقبات التي تواجه المبرمج حتى يتفرغ تماما للإبداع فقط، كل ما تفكر به تستطيع تنفيذه بلغة PHP.

    السرعة:
    لغة PHP من اللغات المعروفة بسرعتها العالية في تنفيذ البرامج، وخاصة في الإصدارة الرابعة من المترجم، حيث تمت كتابة مترجم PHP من الصفر ليعطي أداءا في منتهى الروعة، كما أن لغة PHP مصممة أصلا كنواة لمترجم، بحيث يمكن أن تضع هذه النواة في عدة قوالب أو أغلفة لتعمل مع التقنيات المختلفة، فيمكنك تشغيل مترجم PHP كبرنامج CGI مثلا، ولكن الأفضل هو إمكانية تركيب مترجم PHP على مزود IIS في صورة وحدة إضافية تضاف إلى المزود عن طريق دوال ISAPI، وتوجد نسخة أخرى منه تركب على مزود Apache أيضا في صورة وحدة خارجية، وتوجد أيضا نسخة مخصصة للدمج مع شفرة مزود Apache بحيث تصبح جزءا من برنامج Apache نفسه، وهي الطريقة الأكثر استخداما الآن في مزودات الويب التي تعمل على أنظمة UNIX وهي الطريقة التي تعطي أفضل أداء لمترجم PHP، حيث يصبح المترجم جزءا من المزود، وبالتالي فإنه سيكون محملا في الذاكرة بانتظار صفحات PHP ليقوم بترجمتها وعرضها للزوار مباشرة دون التأخير الإضافي الذي تتطلبه برامج Perl/CGI مثلا حيث يجب أن يتم تشغيل مترجم Perl مع كل زيارة للصفحة لترجمة الصفحة، ثم يتم إغلاق المترجم، ثم استدعاءه مجددا عند الزيارة الثانية وهكذا، وهذا يشكل فارقا كبيرا في المواقع ذات الضغط العالي بالذات، ويكون استخدام PHP حلا أفضل بكثير.

    المزايا:
    يأتي مترجم PHP لوحده محملا بعدد هائل من الدوال الجاهزة الاستخدام في جميع المجالات، من دوال المعالجة الرياضية والحسابية إلى دوال الوصول إلى قواعد البيانات ومزودات FTP، توفر لك دوال PHP مثلا وصولا إلى مزودات البيانات MySQL و PostgreSQL و MS SQL و Oracle وغيرها من مزودات قواعد البيانات، وهنالك أيضا مجموعة من الدوال لمعالجة ملفات XML، ودوال أخرى لإرسال واستقبال الملفات عن بعد باستخدام بروتوكول FTP، وهنالك مجموعة من الدوال لمعالجة وإنتاج الصور ديناميكيا وملفات Flash ديناميكيا، ناهيك عن جميع الدوال الخاصة بمعالجة النصوص والمصفوفات.

    التوافقية:
    كما قلنا سابقا، فعلى الرغم من أن هنالك الكثير من نسخ PHP التي يعمل كل منها في بيئة مختلفة، إلا أنها جميعا تشترك في النواة الأصلية التي تقوم بالمعالجة الحقيقة لملفات PHP لذا فإن جميع مترجمات PHP تتصرف بنفس الطريقة فيما يتعلق بتنفيذ السكريبتات، فإذا كان السكريبت الذي عملته يعمل على نظام ويندوز مع مزود IIS فيجب أن يعمل دون الحاجة لأية تغييرات عند نقله إلى مزود Apache، بالطبع تظل بعض الأمور البسيطة جدا التي يوفرها بعض المزودات دون غيرها، ولكن جميع البرامج التي كتبتها منذ أن بدأت تعلمي للغة إلى الآن تعمل على جميع المزودات دون الحاجة لأي تغييرات، إضافة إلى ذلك فإن التغييرات التي حدثت باللغة الأساسية من الإصدارة الثالثة إلى الرابعة قليلة جدا، وأغلب التغييرات كانت في البنية التحتية للمترجم.

    الحماية:
    يوفر PHP الكثير من المزايا المتقدمة، ولكنه يوفر لك الطرق المناسبة لوضع الحدود على هذه المزايا، فيمكنك التحكم بعدد الإتصالات المسموحة بقاعدة البيانات مثلا، أو الحجم الأقصى للملفات التي يمكن إرسالها عبر المتصفح، أو السماح باستخدام بعض الميزات أو إلغاء استخدامها، كل هذا يتم عن طريق ملف إعدادات PHP والذي يتحكم به مدير الموقع.

    قابلية التوسع:
    يمكنك توسعة مترجم PHP بسهولة وإضافة الميزات التي تريدها إليه بلغة C، وحيث أن الشفرة البرمجية للمترجم مفتوحة فإنك تستطيع تغيير ما تريده مباشرة لتحصل على النسخة التي تناسبك من المترجم، ويمكنك أيضا عمل الوحدات الإضافية التي تركب على المترجم لزيادة ميزاته والوظائف المبيته فيه، وفي قد قام فريق تطوير مترجم PHP مسبقا بعمل هذه المهمة وتحويل كمية ضخمة من المكتبات المكتوبة بلغة C إلى مكتبات مخصصة لتضاف إلى المترجم، ومنها حصلنا على جميع الميزات التي تحدثنا عنها مثل الوصول إلى قواعد البيانات ومعالجة ملفات XML.

    تاريخ PHP:
    بدأت PHP كمكتبة من الدوال تضاف على لغة Perl لتسهل عمل برامج CGI بلغة Perl، وبعد أن تلقى Rasmus Lerdof بعض الاقتراحات بتحويلها إلى مترجم بسيط، قام بعمل ذلك المترجم وطرحه على الإنترنت وسماه PHP أو Personal Home Pages أي الصفحات الشخصية، فقد كان عبارة عن نسخة مصغرة من Perl مع بعض الميزات الإضافية للويب، ثم أضاف إليه دعما لنماذج HTML وسماه PHP2/FI، فقام مجموعة من المبرمجين بالعمل على مترجم PHP وأضافوا إليه واجهة تطبيقات برمجية API لتسهيل عملية توسعته فأصبح لدينا PHP 3، بعد فترة من الزمن قامت شركة Zend للتقنيات بعمل مترجمها الخاص للغة والذي سمي zend أيضا، وقد اتصف هذا المترجم بالسرعة العالية وقدراته المحسنة، وجمع مع مكتبات PHP الأخرى لتكوين نواة المترجم PHP، مترجم PHP الآن مقسم على قسمان: المترجم zend ويتم تطويره على مزودات CVS الموجودة في موقع zend والقسم الثاني يسمى PHP وهو عبارة عن المكتبات والدوال الأساسية التي تأتي مع البرنامج، يقوم مترجم zend بقراءة الملفات ومعالجتها والتعامل مع المتغيرات وتنفيذ البرنامج وتوفير واجهة تطوير للتطبيقات API لتوسعة اللغة، أما PHP فتحتوي الآن على مكتبات مكتوبة بلغة C ومتوافقة مع واجهة التطبيقات التي يوفرها مترجم zend، وبالتالي يعمل القسمان معا لتكوين مترجم PHP، وعندما تزور موقع PHP الرسمي الآن وتحصل على مترجم PHP جاهزا أو تحصل على الشفرة البرمجية الخاصة بك، فإنك تحصل على كل من مترجم zend ومكتبات PHP معا.
    تطور PHP تطورا مفاجئا في الفترة الأخيرة، وتشير إحصائيا Net Craft إلى أن مترجم PHP هو أكثر وحدات مزود Apache انتشارات على الإنترنت، كما أن مترجم PHP مركب على حوالي مليوني مزود ويب على الإنترنت.


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

    1 - استخدام زوح الوسوم <?php و ?> كالتالي :



    2 - استخدام زوج المختصر <? و ?> وهو يستخدم بنفس الطريقة السابقة ولكنه يكون بدون الكلمة php في وسم البداية، هذا النوع من الوسوم يحتاج إلى كمية أقل من الكتابة بالطبع، ولكنه يتعارض مع وسوم xml، لذا يقوم البعض بإغلاق ميزة الوسوم القصيرة حتى لا يحصل هذا التعارض ( يمكنك اغلاق هذه الميزة بسهولة عن طريق ملف إعدادات PHP ).
    3 - استخدام زوج الوسوم ASP، وهو من اسمه زوج الوسوم المستخدم في ملفات ASP وهما <% و %>، ميزة وسوم ASP لا تكون فعالة بشكل قياسي ولكنك تستطيع تفعيلها عن طريق ملف إعدادات مترجم PHP.
    4 - الطريقة الأخيرة هي استخدام زوج الوسوم التالي :



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

    كتابة ملفات PHP:
    ملفات PHP هي ملفات نصية بسيطة تماما كما هي ملفات HTML، يمكنك كتابة سكريبت PHP بأي برنامج كتابة نصوص يتيح لك كتابة الملفات النصية البسيطة Plain **** مثل Notepad على النظام ويندوز، ولكن أغلبية مبرمجي PHP يستخدمون أدوات أخرى تسهل عليهم عملية البرمجة عن طريق تلوين الشفرات البرمجية، وتسهل عملية البحث عن الملفات واستبدال المقاطع من عدة ملفات في نفس الوقت، مثل HomeSite، على الرغم من أنك لن تحتاج إلى الكثير من هذه الميزات إلا أن استخدام Notepad في عمل ملفات PHP يعتبر أمرا صعبا جدا وخاصة في الملفات الضخمة حيث أن Notepad لا تتيح فتح الملفات الكبيرة، والمشكلة الأكبر هي أنها لا توفر ترقيما للأسطر، فإذا ظهرت لك رسالة الخطأ تشير إلى وجود خطأ في السطر 53 فلن تستطيع معرفة السطر المطلوب في Notepad إلا إذا قمت بالعد يدويا من السطر الأول وحتى 53 .. حسنا ماذا لو كان الخطأ في السطر 652، يمكنك البدأ بكتابة سكريبتاتك بالبرنامج المتوفر الآن إلى أن تحصل على برنامج آخر، يمكنك بالطبع فتح ملفاتك بأي محرر نصوص، فإذا كتبتها باستخدام Notepad فهذا لا يعني بأنك ملزم باستخدام Notepad في جميع ملفاتك أو حتى في هذا الملف.
    لعمل ملف PHP الآن قم بفتح محرر النصوص الذي اخترته وابدأ بكتابة الصفحة التي تريدها، ولا تنسى إحاطة شفرات PHP بالوسوم الخاصة بها، ثم احفظ الملف في أي مكان في دليل مزود الويب الخاص بك وأعطه الإمتداد المناسب .php أو .php3 حسب إعدادات مزودك، ثم قم بزيارة الصفحة باستخدام المتصفح وستجد الصفحة وقد تمت ترجمتها وعرضها عليك.
    تذكر بأنك يجب أن تزور الصفحة مرور بمزود الويب، ولا يمكنك عرض الصفحة عن طريق فتحها كملف خارجي، على سبيل المثال، إذا كان الدليل الجذري لصفحات مزودك هو : C:\httpd\
    وقمت بعمل صفحة أسميتها test.php في ذلك الدليل، يجب أن تقوم الآن بتشغل مزود الويب وزيارة الصفحة على العنوان http://localhost/test.php، إذا قمت باستخدام الأمر Open من القائمة File في المتصفح لفتح الملف C:\httpd\test.php فلن ترى صفحة PHP مترجمة، وسترى شفرة PHP فقط.


    تدريب:
    قم بتنفيذ ملف PHP التالي :


    ما الذي تشاهده عند تنفيذ البرنامج السابق؟ من المفترض أن تشاهد الخرج التالي :



    ها قد انتهيت من كتابة برنامجك الأول بلغة PHP، لا تقلق إذا لم تفهم أي شيء فيه، سنتعلم الآن كيفية استخدام المتغيرات والعبارات بلغة PHP.


    الحلقة الأولى أنتهت وبس لجهزلكون الباقي

    فيتبع ...
    Delight yourself also in the Lord, and He will give you the desires and secret petitions of your heart

    !! Brothers and will stay until death !!


  • #2
    الدرس الثاني

    لنكتب سكربتاً بسيطاً (فاتح شهية) :

    قم بحفظ الملف باسم echo.php
    ستعرض علينا عباره مكتوب فيها
    التحية لكل الشباب الطيبة (“ أحلى شبيبة وأحلى جمعة ”)

    شي بسيط ما ؟
    يتكون كود الـphp من نصوص و كود و علامات ولغة html وقد لاتحتوي على نصوص html .
    لكي يعمل الكود يجب أن يكون إمتداد الملف php أو بأي إمتداد من إمتدادات الـphp
    مثلاً php3 و phtml

    عندما تطلب صفحة في الإنترنت فإنك تجري اتصالاً مباشراً مع السيرفر هذه العملية تدعي request للسيرفر (يعني طلبية للسيرفر) يقوم السيرفر بتفسير طلبك والبحث عن الصفحة المطلوبة ويرسل اليك الصفحة المطلوبة كجزء مما يسمي response (استجابة) لمستعرض الانترنت لديك يقوم بعدها المتصفح لديك بأخذ الكود الذى ارجع إليه ويقوم بتجميعه (compile) لكي يصبح صفحة صالحة للعرض هذه العملية التي حصلت تشبه نظرية العميل للخادم(client to server) بحيث أن المتصفح هو العميل والخادم هو السيرفر .
    الخادم يقوم بعملية تخزين وترجمة وتوزيع البيانات بينما يقوم العميل (مستعرض الانترنت لديك) بالعبور الى السيرفر واحضار البيانات


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

    بروتوكول Tcp/Ip
    من مميزات هذا البروتوكول أنه بإستطاعته إعاده تمهيد طريقه للبيانات إذا تم خلل في نقطة أو مكان أثناء نقلها ويتم ذلك بسرعة شديدة.عندما يطلب المستخدم من المستعرض أن يجلب له صفحة من الانترنت فإن المستعرض يجلب هذه الأوامر باستخدام بروتوكول يدعي بروتوكول التحكم في نقل البيانات TCP هذا البروتوكول هو بروتوكول نقل للبيانات وهو يضمن أن البيانات قد تم إرسالها ووصولها بشكل صحيح .

    قبل أن يتم إرسال البيانات عبر الشبكة يجب عنونتها والبروتوكول الذي يقوم بعنونة البيانات يدعي HTTP يقوم هذا البروتوكول بوضع عنونة للبيانات لكي يعرف البروتوكول TCP أين سينقل البيانات (فهو لايستطيع نقل البيانات إذا لم يكن لها هدف أو مكان ) يستخدم البروتوكول HTTP عن طريق الويب في عملية نقل البيانات من كمبيوتر إلى آخرعندما ترى الصفحة متبوعة بـhttp:// فانك تعلم مباشرة أن الانترنت يستخدم البرتوكول HTTP لإحضار هذه الصفحة يمكنك أن تاخذ صورة بأن الـTCP عبارة عن ساعي بريد الذي يقوم بإيصال رسالة ، هذه الرسالة فيها طابع بريد وعنوان وهو مانسميه بالـHTTP .
    يتم تمرير الطلب من المستعرض إلى ملقم أو سيرفر الويب وهو مايعرف بـ HTTP request ويقوم السيرفر برؤية مستودع البيانات لديه لكي يحصل على البيانات المطلوبة فإذا وجد الصفحة في المستودع قام بإرسالها على شكل حزم الى الجهة التي قامت بالطلب باستخدام بروتوكول TCP ويعنون هذه الحزم لمستعرض الانترنت لديك باستخدام بروتوكول http (ننبه دائما الى أنه يرسلها على شكل حزم لكي تعرف السبب عند عدم ظهور صفحة ويب كاملة أن هناك حزمة لم ترسل بشكل جيد) ولكن إذا لم يجد السيرفر الصفحة المطلوبة فانه يقوم بإرسال صفحة تحتوي على رسالة خطا 404 وهذه الصفحة التي أرسلت من ملقم الويب الى المستعرض لديك تسمي HTTP response .

    بروتوكول الـ HTTP
    رغم ما أخذناه من معلومات كثيرة وقصص كثيرة تشبه قصص ألف ليلة أو حكايات الأطفال إلا أنه رغم ذلك يفوتنا الكثير من التفاصيل في هذا الموصوع لذلك دعنا نغوص قليلاً في التفاصيل عن بروتوكول HTTP بشكل خاص.
    عندما تقوم بعملية طلب لصفحة من السيرفر هناك أمور إضافية ترسل مع عملية الطلب http request غير الـURL وهي ترسل كجزء من http request .
    نفس الموضوع مع الhttp response هناك أمور أخرى تصل معه كجزء منه .
    الكثير من هذه المعلومات تولد تلقائياً في رسالة الـHTTP ولايقوم المستخدم بالتعامل معها مباشرة , إذن لايحتاج أن تقلق نفسك بشأن هذه المعلومات إذا أنت لم تنشأها في الأصل ويجب أن تأخذ أيضا في معلوماتك أن هذه المعلومات ترسل كجزء من الـHTTP request والـHTTP response لأن سكربت الـPHP الذي نصنعه يمنحنا تحكماً إضافيا بهذه المعلومات .
    كل رسائل الـHTTP تأخذ تنسيقاً معيناً سواء كانت Request أو Response . نستطيع أن نقوم بتقسيم هذا التنسيق إلى ثلاثة أقسام :
    1 - Request/response line
    2 - Http header
    3 - Http body
    المحتوي من هذه الأشياء الثلاثة يعتمد على نوع الرسالة إذا كانت HTTp Request أو HTTP response لذلك سنتكلم عنهم بتعمق أكثر .

    Http Request
    يجب أن يحتوي الـrequest على الأقل الـrequest line (سطر الطلب) والـHOST .
    يرسل مستعرض الانترنت طلبية (HTTP request) إلى ملقم الويب تحتوي على التالي :

    1- The Request Line
    السطر الأول من كل طلبية (http request) هي Request Line الذي يحتوي على ثلاثة أنواع من المعلومات :
    أ - أمر HTTP وهو مايعني بـ method .
    ب - المسار من السيرفر إلى المصادر المطلوبة (صفحات الانترنت ) المطلوبة من قبل العميل (المستعرض)
    جـ - إصدارة الـHTTP .
    إذن كمثال على الـ Request Line أنظر إلى السطر التالى :

    GET /testpage.htm HTTP/1.1

    الـ method يخبر السيرفر كيف يتعامل مع الطلب هناك ثلاثة أنواع شائعه من الـ method

    2- HTTP Header
    البت الثاني من المعلومات هو الهيدر HTTP Header .الذي يحتوي على تفاصيل أو وثائق عن العميل مثل نوع المتصفح (نتسكيب أو إكسبلور) الذي قام بطلب الصفحة والوقت والتاريخ والإعدادات العامة
    الـHTTP Header يحتوي على معلومات نستطيع تقسيمها الى ثلاث فئات وهي :
    أ - عامة GENERAL : تحتوي معلومات إما عن العميل أو السيرفر ولاتخصص إلى فرد أو مجموعة .
    ب - شخصية Entity : تحتوي على معلومات عن البيانات التي أرسلت بين المتصفح والسيرفر .
    جـ - مطلوبة Request : تحتوي على بيانات عن إعدادات العميل والأنواع المختلفة المقبولة من البيانات .
    وهذا مثال :

    Accept: * / *
    .Accept elanguage: Arabic-SYR
    .Connection: Keep –Alive
    Host : http://www.######.com
    Referer: http://www.######.com/index.php?something=132
    User –Agent :Iexploer (win98;.........)

    مثلما ترى الـ HTTP Header عبارة عن إعداد يتكون من عدة سطور كل سطر يحتوي على قيم معينة .
    هناك عدة سطور تشكل الـ HTTP header وأكثرها إختياري , يقوم الـHTTP بالإخبار عن إنتهاء معلومات الـ header بترك سطر فارغ (وهذا يكون في الـHTTP1.1 ) .

    3- The HTTP Body :
    إذا تم استخدام الأمر POST في الـHTTP Request Line عندها يقوم الـ HTTP بطلب المعلومات التي ارسلت في الـbody الى السيرفر .

    Http Response
    يرسل من السيرفر إلى المستعرض ويحتوي على ثلاثة أشياء :
    1- the Response Line
    2 - http header
    3 - Http Body


    1 - The Response Line
    الـ response line يحتوي فقط على نوعين من المعلومات :
    1 - رقم إصدارة الـHTTP .
    2 - شفره أو كود الـhttp request التي تقوم بتحديد إذا كان الـrequest ناجحاً أم فاشل .
    مثال :
    HTTP/1.1 200 OK
    في هذا المثال يقوم الـresponse line بإرجاع القيمه 200 متبوعة بالكلمة OK هذه تشكل وتشير إلى نجاح الـ request ويكون الـresponse يحتوي على الصفحة المطلوبة والبيانات من السيرفر . ومثال آخر هو الشفرة 404 عندما تقوم بطلب صفحة ويفشل السيرفر في الحصول عليها .
    2 - HTTP Header
    الـ response header يعتبر مشابه request hader الذي ناقشناه في الأعلى .وتنقسم المعلومات التي فيه أيضا إلى ثلاثة أنواع :
    أ - عامة GENERAL : معلومات عن الـ client أو السيرفر ولاتخصص إلى واحد منهما .
    ب - شخصية Entity : يحتوي على معلومات عن البيانات التي يتم ارسالها بين السيرفر والعميل .
    جـ - الإجابة Response : يحتوي معلومات عن السيرفر الذي قام بإرسال الرد وكيفية تعامله ومعاجلته للرد (Response ) .
    كما قلنا سابقاً ، يتكون من عده سطور ويتم وضع سطر فارغ للإعلام عن إنتهاء الهيدر .
    مثال :

    HTTP/1.1 200 OK -the satus line
    Date: Mon; 1st Nov 1999, 16:12:23 GMT -general header
    Server : Apache/1.3.12 (Unix) (SUSE/Linux) PHP/4.0.2 -the response
    Last-modified: Fri, 29 Oct 1999, 12:08:03 GMT -Entity Header

    السطر الأول ناقشناه والسطر الثاني مفهوم من غير شرح ، السطر الثالث يقوم بتحديد البرنامج تبع السيرفر ونوعه ونظام التشغيل القائم عليه والسطر الأخير يقوم بتعريف آخر وقت تم فيه تعديل أو تجديد الصفحة .
    ملاحظة : قد يحتوي الهيدر على أكثر من هذه المعلومات أو معلومات مختلفة وهذا يعتمد على نوع الشي المطلوب من السيرفر .
    3 - Http Body
    إذا تم معالجة الطلب بنجاح ، فإن الـHTTP response Body يحتوي على كود الـHTML ويقوم مستعرض الانترنت بتفسيرها وتحويلها إلى الصفحة النهائية التي تراها .

    أين سكربت الـPHP من ذلك كله ؟
    أصبح الآن لدينا مفهومية جيدة عن طريقة إرسال المستعرض طلب صفحة من السيرفر وكيفية استجابة السيرفر لهذا الطلب .
    تكلمنا عن أن سكربت الـphp يتكون من ثلاثة أشياء : نص وكود php وكود html ، لانسطيع وصف الـhtml بأنها لغة برمجة بشكل جيد ونستطيع أن نقول أن الـphp لغة سكربتات " سكربتنغ لانغوج " لأنها تضيف قدرات html عليها مثل الجداول والفريمات بكود html بداخل كود الـphp هناك لغات تسمي لغات سكربتات قد تكون متآلفاً معها مثل الجافا سكربت والفجول بيسك سكربت بإستثناء أن الفرق بينها وبين الـphp هو أن الـphp لغة تعتمد على جهة المزود أي السيرفر ويمكنك تخصيص المتصفح الذي يستعرضها .
    تجعلنا الـhtml نضمن سكربتات الـphp فيها ضمن قواعد لذلك لكي نستطيع تشغيلها ولكننا لاننسي أن إمتداد الملفات يظل كما هو php أو php3 بدون تغير فيه لكي يتم إرسال السكربت الى مكتبة الترجمة (سكربتنغ engine) التي تقوم بترجمة السكربت إلى html (كأنك تترجم من عربي لإنجليزي أو العكس )

    مفهوم الـ parsing و الـ Execution :
    ممكن أن نقسم عملية الترجمة الذي يقوم بها سيرفر php إلى قسمين أو عمليتين :
    العملية الأولى : هي أن السيرفر يقوم أولا بفحص قواعد اللغة وهذا لايضمن أن السكربت صحيح مائة بالمائة ولكنه تدقيق في الأوامر وقواعد اللغة وهذا مايسمونه بالـParsing
    العملية الثانية : هي تنفيذ السكربت بعدها وإخراجه على شكل كود html وهذا مايسمي بالـ Execution .
    بقي أن نقول أمراً معروفاً وهو أن السكربتات نوعين :
    1 - " سايد سكربتنغ - Server " وهو ما ينفذ من جهة المزود
    2 - ماينفذ من جهة المستعرض (صفحة انترنت) .
    Last edited by abogabi; 22-06-2007, 01:49 PM.
    Delight yourself also in the Lord, and He will give you the desires and secret petitions of your heart

    !! Brothers and will stay until death !!

    Comment


    • #3
      الف شكر ابو جابي على المعلومات
      وفعلا لغه من اهم اللغات
      وتستخدم على نطاق واسع اكيد

      وبتمنى تكفي بتزويدنا فيها
      واكيد رح تابع معك
      وعالتثبيت
      ___كم صعب ان يبيعك آخر من لديك ___
      .
      كرمي على درب
      فيه العنب وفيه الحصرم
      فلا تلمني يا عابر السبيل
      إن أنت أكلت منه فضرست

      لكل كلمة أذن
      ولعل كلماتي ليست لأذنك
      فلا تتهمني بالغموض

      Comment


      • #4
        أكيد مع الشكر يا غالي .. حبيبنا

        Last edited by abogabi; 30-06-2007, 04:58 AM.
        Delight yourself also in the Lord, and He will give you the desires and secret petitions of your heart

        !! Brothers and will stay until death !!

        Comment


        • #5
          الدرس الثالث


          التعليقات

          ما رأيك إذا كنت في شركة وكان معك أكثر من مبرمج وأردتم تصميم برنامج ، اإذن قد تحتاجون لتنظيم العمل وتعديله لذا من اللازم أن تقوم بعمل توضيح لفائدة الكود الذي كتبته كي يسهل فهمه عليهم وإضافة تعديلات مناسبة ، إذن التعليقات تستخدم في الإفاده عن شرح الأكواد أو إضافة معلومات لاتستعمل إلا كتوضيح أو أي شي آخر .

          يمكنك عمل تعليق من سطر واحد كالتالى :
          <?
          //هذا تعليق لافائدة له له اي معني
          ?>
          مثال آخر :
          <?
          //هذه الداله تقوم بطباعه الكلمه تعليق
          Echo “تعليق”;
          ?>

          وأيضا يمكنك استخدام تعليق من أكثر من سطر كالتالي :

          <?
          /*تعليق يتكون من
          اكثر من سطر بعلامة السلاش والنجمه
          */
          ?>


          المتغيرات
          ماهي المتغيرات ؟
          أبسط تعريف يمكن أن نقوله عن المتغير هو أنه مساحة من الذاكرة تستخدم لتخزين المعلومات ويتم التحكم فيها عن طريق المبرمج في الـPHP ، المتغيرات تبدأ بعلامة الـ$ ولكي تقوم بإدخال قيمة في المتغير فإنك تستخدم المعامل (=) إذن لكي تقوم بإنشاء متغير يحتوي على قيمة يمكنك القيام بذلك كالتالى :


          لاحظ أن السطر السابق يتكون من خمسة أشياء :

          1 / المتغير وهو alfares
          2 / وقبله علامة الـ$ لكي يعرف مترجم الـPHP أنه متغير
          3 / المعامل ( = )
          4 / الفاصلة المنقوطة ( ; )
          5 / القيمة وهي How Are You Every Body? وهي القيمة الموجودة في المتغير أو التي اقترحناها للمتغير أو التي وضعناها فيه ( لأن الذي اقترح القيمه هو أنت (مبرمج الphp ) )



          ملاحظات :
          1- اسماء المتغيرات حساسة لحالة الأحرف إذا كانت كبيرة وصغيرة


          المتغيرين الذين بالأعلي مختلفين بسبب حالة الأحرف.

          2 - يمكنك استخدام المعامل (_)
          $First_name
          3 - يمكنك استخدام ألف حرف في تسميه المتغيرات (وفي الواقع هي غير محدده) .


          علامات التنصيص

          وهذه نقطة مهمة وهي لماذا وضعنا علامات التنصيص هذه ؟ فالإجابه تكون هي أن القيمة التي وضعناها حرفية أي تتكون من نصوص وهناك أنواع للمتغيرات وعلى ذلك سنفصل ونقول

          هناك انواع للبيانات وهي :
          1. strings (حروف) $Exa = “Just An Example”;
          2. $Exa2 = “2.5”;
          3. $Exa3 = “2”;
          4. Integer (ارقام) $Exam = 5;
          5. Double (ارقام ذات فواصل ) $num= 5.4
          6. array ياتي تفصيلها فيما بعد
          7. objects تفصيلها في دروس اخري
          8. Unknown ياتي تفصيلها في درس اخر .

          المتغيرات لايتم تعريف نوعها من قبل المبرمج إنما مترجم الـPHP يقوم بالتعرف عليها لكي يتم إتمام العمليات المختلفه عليها .


          البيانات الحرفيه /
          في الـPHP أي قيمة تكون بين علامتي تنصيص عادية أو علامة تنصيص مفردة يعتبرها الـPHP قيمة حرفية
          أمثلة :
          “هذا النص بين علامتي تنصيص عاديه اومزدوجه”
          ‘هذا النص بين علامتي تنصيص مفرده او وحيده’

          يجب أن يبدأ النص وينتهي بنفس علامة التنصيص ، وإلا فلن يتعرف الـPHP على القيمة الحرفية أو على النص:
          <?
          $d=”غلط ‘
          echo “خطا ‘
          ?>

          لايمكنك أيضاً أن تقوم بوضع علامة تنصيص من نفس النوع التي تستخدمه القيمة الحرفية في وسط العبارة الحرفية أو النص:



          أما إذا كنت مصراً على ذلك أو تحتاج إليها في عمليات ضرورية (كما سوف نري فيما بعد حاجتنا إليها في صناعة النماذج ) فيمكنك وضع معامل (\) قبل علامة التنصيص .
          لكي تعمل معك بكل سهولة .

          مثال :



          طيب ما رأيك لو أردنا أن نطبع المعامل (\) بنفسه ؟
          الحل هو أن نتبعه بمثله ، وبالمثال يتضح المقال :



          يمكنك الجمع بين أكثر قيم المتغيرات في متغير واحد عن طريقة الـ(.)



          وأيضا يمكننا أن ضيف إلى متغير قيمة متغير آخر :


          الارقام

          العدد الفردي والمزدوج
          الاختلاف المعروف لدي أنا حتى الآن هو أن الفرق بينهما هو الفاصلة العائمة (والله حتي اعطاءها هذا الاسم يجعل الواحد يشعر بالاحباط والخوف )
          لاحظ أننا لا نستخدم علامات التنصيص وذلك ليعرف الـPHP أنها بيانات رقمية قد نستخدمها في عمليات حسابية معقدة ويمكننا تطبيق عمليات حسابية بسيطة عليها إذا كانت حرفية .


          العمليات الحسابية
          هي مثل الجمع والطرح والضرب والقسمة وهي مرتبة كالتالي :
          أولاً /الأقواس
          ثانياً /الضرب ثم القسمه .
          ثالثاً / الطرح ثم الجمع


          مثال لعملية أخري لكنها لم تعمل وعليك استنباط السبب بنفسك :



          متغيرات النظام

          هناك متغيرات يستخدمها النظام يمكنك أن تستعملها ومنها
          $HTTP_USER_AGENT
          التي تظهر لديك نوع المستعرض الذي يستخدمه العميل

          مثال :
          <?
          Echo $HTTP_USER_AGENT ;
          ?>

          الثوابت

          يمكننا تعريف الثوابت بقول أنها قيم ثابتة لاتتغير ونعرفها عن طريق الدالة define
          الثوابت حساسة أيضا لحالة الآحرف
          <?
          Define (“author”, “alfarees”);
          Echo “author is “ . author ;
          ?>

          هناك ثوابت يستخدمها النظام مثل
          PHP_OS
          التي تقوم بعرض نظام التشغيل الذي يستخدمه السيرفر

          مثال :
          <?
          Echo PHP_OS;
          ?>

          معرفه وتحويل انواع البيانات



          الدالة isset


          لمعرفة إذا كان المتغير منشأ مسبقاً أم لم يتم انشاؤه وهي لا تتطلب غير اسم المتغير الذي تريد فحص وجوده
          وتقوم بارجاع القيمة (1) إذا كان المتغير تم انشاؤه ولاترجع أي قيمة إذا كان المتغير غير منشأ أو موجود .
          مثال :
          <?
          $n = “n”;
          Echo isset ($n);
          ?>

          الدالة unset
          تقوم بحذف المتغير إذا كان موجوداً وتحرير الذاكرة منه ( لذلك تأكد جيداً قبل استخدام هذه الدالة من اعطاء دمعة الوداع للمتغير المسكين )
          <?
          $n = “n”;
          unset ($n);
          Echo isset ($n);
          ?>
          الداله empty
          تقوم بإرجاع القيمة ( 1 ) إذا كان المتغير غير منشأ أو أن القيمة التي فيه صفر (0) أو نص فارغ ("") ولاتقوم بإرجاع أي شي اذا كان المتغير منشأ وفيه قيم غير المذكورة .

          Delight yourself also in the Lord, and He will give you the desires and secret petitions of your heart

          !! Brothers and will stay until death !!

          Comment


          • #6
            الدرس الرابع

            النماذج

            النماذج في الويب أو صفحات الانترنت عبارة عن استمارات تقوم بتعبئتها ثم عند إرسالها لخادم الويب (السيرفر) يتلقاها برنامج يقوم بإجراء العمليات عليها مثل جافا سكريبت أو ASP أو php (في حالتنا ) .

            فائدة النماذج

            لنقل أنك مثلاً أردت شراء كتاب من الانترنت فإنك في الواقع تحتاج إلى تعبئة استمارة ببياناتك ورقم بطاقة الائتمان وغير ذلك من المعلومات ويتم ذلك عن طريق نموذج (فورم) .

            في الواقع أنت تقوم بإختيار الكتاب الذي تريد وتكتب اسمك ورقم هاتفك وصندوق بريدك (ربما) في فراغات أو عن طريق الإشارة الى مجموعة من الخيارات .
            يتم تخزين هذه القيم في المتغيرات التي يتم كتابتها في الخاصيه name (نتكلم عنها في هذا الدرس) ويتم ارسالها عند ضغط زر - ارسال البيانات - (submit) الى (البرنامج ) الصفحة التي سوف تقوم بمعالجة هذه البيانات (والتي يتم تحديدها في الخاصية ACTION) وإجراء العمليات عليها مثل تخزينها مثلاً في قاعدة البيانات أو ارسالها إلى البريد الالكتروني وذلك عن طريق الـphp .


            ماذا يعمل العميل في النماذج ؟


            إنه باختصار يقوم بتعبئة مربعات نصوص (تكستBox) ويقوم بوضع علامة صح في مربعات الاختيار (check boxes) أو يقوم بالتصويت أحيانا لشي معين فيختار زر اختيار (ازرار الراديو) .
            هذه الأشياء كلها يتم انشاءها بواسطة الـhtml ودرسنا لهذا اليوم يناقش كيفيه انشاءها وكيفيه التعامل والحصول على البيانات منها ، بقي علينا كبداية أن نعرف أن هذه الأدوات تنشأ في الواقع بين وسمين من وسوم لغه الـhtml وهي الوسمين
            <f<form
            </form>f
            خصائص النماذج

            يجمع النموذج جميع خصائص المضيف لكننا هنا سنتطرق الى اثنين منهما وهما ACTION و METHOD التي تستخدم بكثرة و مهمة لنا في دروسنا القادمة
            اما (ID;ClASS;NAME) فيلزمها تعمق في HTML خاصة عندما ندخل في ACCEPT-CHAR و ENCTYPE وستكون خارج نطاق موضوعنا حالياً وقد نفصلها في دروس قادمة إن شاء الله .

            ACTION

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



            METHOD
            هذه الخاصية تقوم بإخبار النموذج طريقة ارسال المعلومات الى الصفحة الهدف وفي الواقع هناك طريقيتين مشهورتين ومعروفتين لارسال المعلومات هما GET وPOST .


            ملاحظه /في الواقع يوجد اكثر من هذه الطريقيتن لارسال المعلومات وهي
            (CONNECT;HEAD;OPTIONSELETE:TRACE) وغيرها ولكن لاتستخدم الا بشكل نادر .

            دعنا الآن نفصل هاتين الطريقتين بشكل أوسع :

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

            http://localhost/test.html?name=value

            قد تكون النقطيتن الأخيرتين غير مفهومتين بشكل جيد بسبب أنك لم تتعامل مع النماذج من قبل .
            لكن الحقيقة أن النموذج يتكون من عناصر (مربع علامة , مربع نص , زر اختيار) ولكل من هذه العناصر عنوان خاص بها (name) ولكل منها قيمه خاصه بها (value) .
            وهي مشابهة للمتغيرات ويمكن أن يحتوي عنوان الصفحة على أكثر من عنوان (name)واكثر من قيمة (value) ويقوم بالتعريف عنهما باستخدام المعامل (&) .

            مثال :
            http://localhost/test.html?animal=cat&age=30

            تسمى الإضافة التي تظهر بعد علامة الاستفهام (query String) نتيجه الاستعلام الحرفية.
            العنوان دائما يكون باللغه الانجليزيه (name) ونعامله كانه اسم متغير من المفترض تعريفه في الصفحه الهدف (التي سنكتبها بالـPHP).

            قد تحتوي القيم على فراغات او معاملات مثل (+،-،\،#،%)
            يقوم المتصفح باستخدام لغه تشفير الصفحات URL ENCODING .
            أيضا يستخدم الـURL ENCODING مع الأحرف العربية أو اللغات الأخري غير الإنجليزية في كتابة الحرف .

            URL Encoding
            هناك بعض الأحرف لايستطيع المتصفح إضافتها لعنوان الصفحة بصيغتها الحقيقية بل يستخدم لغة التشفير في التعريف عنها وهذه جداول بالرموز الذي يستخدم المتصفح كود بدلا من عرضها بصيغتها الحقيقية


            لاتقلق فليس عليك أن تحفظ كل هذه العلامات وتشفيراتها بل سيقوم المتصفح بالعمليه كلها بدلا عنك .

            POST
            في الواقع وظيفتها هي نفس وظيفة الـget ولكنها لاترسل المعلومات في عنوان صفحة الانترنت بل تقوم وضعها في الـbody التابع لـhttp response .
            بالإضافه إلى أنه يستطيع ارسال البيانات بكمية أكبر من الـGET .

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

            أيضا الـPOST مفيدة في إخفاء المعلومات وإحتواء كميات كبيرة من البيانات ولكن لايمكن الاحتفاظ بعنوان الصفحة .... مع ذلك فإنها أيضا ليست جيدة في الحماية بحيث أن أي هاكر خبير يمكنه الحصول على المعلومات إذا لم يكن لها تشفير معين في نقلها ..لكن اذا اردت فعلاً ان تجعلها محمية فيجب عليك استخدام اتصال محمي الى سيرفر محمي .... او مايسمونه (SCURE CONNECTION TO SCURE SERVER) .


            أدوات التحكم في النماذج :


            في الواقع أن أدوات التحكم عبارة عن مربعات النصوص العاديه (التي يدخل فيها المستخدم اسمه وعنوانه ) وازرار الراديو ( والتي يقوم المستخدم فيها باختيا شي معين (مثل الوجبه المفضلة لديه او المشروب المفضل اليه ) ومربعات الاختيار (التي تتيح للمستخدم أن يختار مايشتهي ويحب من الخيارات المعروضة )
            وأيضا القوائم التي تساعدك على اختيار أكثر من شي أو شي واحد .

            في أغلب هذه الاشياء يتم استعمال الوسم
            <INPUT>
            وتلخيص تفصيله كالتالي :


            الشرح :

            1 - TYPE= type
            نحدد نوع الكائن إذا كان زر راديو أو مربع نص عادي أو مربعات الاختيار .

            2 - NAME= name
            تقوم فيها بإعطاء اسم لمتغير يتم حفظ القيمة فيه .

            3 - VALUE= value
            سيتضح وظيفته أكثر عندما ندرج عليه أمثله إذ أن عمله يختلف من أداة إلى أخرى .

            تطبيقات عمليه
            سنقوم في هذه التطبيقات بصنع برامج بسيطة تتكون من ملفين ، الملف الاول يحتوي على كود HTML يقوم بتكوين النموذج والملف الثاني يقوم بإستقبال النتائج وطباعتها .

            مربعات النصوص (تكست Box) :
            نقوم بعمل ذلك كالتالى :
            1 - قم بتشغيل محرر النصوص لديك .
            2 - اكتب الكود التالي :


            3 - قم بحفظ الملف كصفحة HTML . وقم بتسميته tex,tbox.html
            4 - افتح محرر النصوص إذا كنت أغلقته .
            5 - اكتب الكود التالي :

            6 - قم بحفظ الملف كـ php . وقم بتسميته tex,tbox.php .
            7 - الآن قم بأخذ الملفين وضعهما في مجلد السيرفر لديك .
            8-قم بتشغيل السيرفر واكتب في مستعرض الانترنت لديك
            http://localhost/tex,tbox.html
            9 - قم بكتابة وجبتك المفضلة واضغط زر إرسال .
            10- ستظهر النتيجة .

            لاحظ كيف ظهر العنوان :
            http://localhost/tex,tbox.php?food=%CC%C8%E4%C9+%E6%E3%D1%C8%ED

            الشرح
            لقد قمنا في البداية بعمل صفحة تتكون من نص و مربع نص وزر يقوم بعملية إرسال البيانات
            قمنا بصناعة بداية النموذج بواسطة الوسم <FORM> وقمنا بتحديد المكان الذي سيتم ارسال البيانات إليه بواسطة
            ACTION=”tex,tbox.php”
            وقمنا بصنع مربع النص بواسطه الوسم INPUT واخترنا الـ
            TYPE=”
            tex,t
            كما قمنا بوضع القيمة الإفتراضية فيه بواسطة القيمة
            Value= “جبنه ومربة”
            وقمنا بوضع الناتج الذي يضعه المستخدم في مربع النص في المتغير food .

            (لاحظ ان تسميه المتغيرات حساسه لحاله الاحرف في PHP واننا لم نقم بوضع $ في صفحه المتغير في كود الـhtml ).

            وأيضا لقد قمنا بإضافه زر بواسطة
            TYPE=SUBMIT

            وقمنا بوضع كلمة على الزر وهي كلمة (إرسال)
            VALUE = “إرسال”

            أيضا قمنا بصنع زر آخر
            Type =reset

            وقمنا بجعل العبارة التي عليه (مسح)
            Value=”مسح”

            هناك نوعين من الازرار هي SUBMIT وRESET
            1- الـsubmit يقوم بإرسال المعلومات .
            2- الـreset يقوم بمسح البيانات في جميع الأدوات في النموذج لإعاده إدخالها من جديد .

            بعد ماقمنا بادخال البيانات وضغط زر الارسال قام النموذج بارسال البيانات إلى الصفحة المحددة في الخاصية ACTION وقامت الصفحة المحددة بإستقبال النتائج الموجودة في النموذج وهي نتيجة واحدة في مربع نصوص تم حفظ قيمته في المتغير food .
            وقامت بطباعتها بواسطة الدالة echo .

            نظرا لاننا استخدمنا الاسلوب GET فقد تم اعطاءنا عنوان الصفحه بالاضافه الى (?) وايضا المعلومات المسجله في المتغيرات والتي تم استخدام الURL ENCODING فيها لانها تستخدم حروف عربيه .


            مربعات النصوص الكبيره (
            tex,t area) طلبات اكبر للطعام الشهي !

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

            تستخدم هذه الأداة وسم فتح ووسم إغلاق

            <f<TAX1TAREA
            </TAX1TAREA><f<TAX1TAREA
            ويمكنك تحديد حجمها بواسطه تحديد الصفوف بالخاصية rows والأعمدة بالخاصية cols .
            تمرين عملي
            1- قم بفتح محرر النصوص لديك
            2- قم بكتابة الكود التالي :

            3- قم بحفظ الملف باسم TAREA.html .
            4- الآن قم بفتح ملف جديد في محرر النصوص .
            5- قم بكتابة الكود التالي :

            6- قم بحفظ الملف باسم tarea.php
            7- قم بوضعهما في مجلد السيرفر لديك .
            8- قم بتشغيل البرنامج .

            http://localhost/tarea.html
            9- قم بضغط الزر لارسال البيانات .
            10- شاهد النتيجه.

            الشرح
            لانضيف شيئاً على قولنا هنا سوى أننا نريدك أن تلاحظ كيف جهزنا القيمة الإفتراضية بكتابة نصوص بين وسومات الـ
            tex,tarea وأيضا أننا استخدمنا الأسلوب POST في ارسال البيانات مما جعلها لاتظهر في شريط العنوان .
            وأن الـNAME تحدد اسم المتغير التي ستذهب إليه القيمة واسم المتغير في الكود لايحتوى على $ لأنه كود HTML وليس PHP .


            مربعات الاختيار (Check Box) اكثر من خيار في وقت واحد !


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

            يمكننا صنع مربع العلامة بواسطه الوسم INPUT
            <INPUT TYPE = ”CHECKBOX” NAME = “swalif” value
            = ”سوالف” checked>

            نقوم بتحديد نوع الأداة بأنها مربع علامة في هذا الجزء
            TYPE = ”CHECKBOX”

            نقوم بتحديد اسم المتغير في هذا الجزء
            NAME = “swalif”

            ونقوم بتحديد القيمه التي يتم وضعها في المتغير اذا قام المستخدم باختيار مربع العلامه في هذا الجزء :
            value= ”سوالف”

            اذا لم تقم بوضع الخيار value فستكون القيمه الافتراضيه هي on عند اختيار المستخدم مربع العلامه وستكون فراغ اذا لم يقم المستخدم باختيار المربع.

            ونقوم بوضع القيمه الإفتراضية بإضافه الكلمة checked فإذا تم وضع هذه الكلمة يكون مربع العلامة مختار تلقائياً أما إذا لم نتكبها فسيكون بدون علامة الاختيار .

            Checked

            تطبيق عملي (1) :
            1- قم بفتح المفكرة وقم بكتابة الكود التالي :


            2- قم بحفظ الملف باسم check.html .
            3- قم بفتح ملف جديد في المفكرة وقم بكتابة التالى :


            4- قم بحفظ الملف باسم check.php .
            5- قم بنقل الملفين الى مجلد السيرفر .
            6- اكتب في المتصفح
            http://localhost/check.html
            7- النتيجه


            الشرح
            في الواقع لقد قمنا بتطبيق ثلاث تمارين التمرين الاول أردنا لفت النظر إلى أننا قمنا بعدم استخدام value للمتغير وتم إعطاء القيمة on عند اختيار المستخدم مربع العلامة بالإضافة أن مربع العلامة كان مختاراً بسبب وضعنا الخاصية CHECKED ولكن التمرين غير عملي وغير جيد بدون وضع قيم VALUE عند وضعنا لأكثر من مربع اختيار لذلك فقد قمنا باضافه قيم يتم وضعها في المتغيرات عند اختيار المستخدم لها كما في التمرين الثاني وأردنا لفت النظر في التمرين الى شي يسمي بالمصفوفات فإذا أردنا مثلا أن نجعل اسم المتغير متشابها واجراء عمليات تكون أسرع عليه نستخدم المصفوفات ولن نتطرق إلى المصفوفات حالياً ولكن أردنا لفت نظرك فقط وسنقوم بالتكلم عن المصفوفات بالتفصيل في الدروس القادمه باذن الله هي والتكرارات بعد التكلم عن العبارات الشرطية في الـPHP .


            ازرار الراديو(RADIO BUTTONS) (اختر المشروب المفضل !)


            ماهو اختيارك المفضل ؟ علما بانه لايمكنك اختيار اكثر من خيار واحد !!

            في الواقع إن زر الراديو يتيح لك أن تختار شي واحد من بين عدة اختيارات ونراه كثيراً عند اتفاقيات البرامج حيث يعطيك فرصه إما بقبول الإتفاقية أو رفضها ويكون واحد من الاختيارين محددا (وهو خيار الرفض!) .

            يتم استخدام ازرار الراديو باستخدام العبارة <INPUT> كالتالى :

            <INPUT TYPE = ”radio” NAME = “name” value= ”value” checked>

            نقوم بتحديد نوع الكائن بانه زر راديو في هذا الجزء :
            TYPE = ”radio”

            نقوم بتحديد اسم المتغير في هذا الجزء :
            NAME = “name”

            نقوم بتحديد القيمة التي ستكون في المتغير هنا :
            value= ”value”

            في الواقع مع ازار الراديو نقوم بجعل اسم المتغير name هو نفسه والقيم مختلفة value
            لكل سؤال . وإذا لم نقم بوضع قيمة فسيقوم PHP بوضع القيمة on للمتغير .

            تطبيق عملي :
            1- قم بتشغيل محرر النصوص لديك واكتب الكود التالي وقم بحفظه في ملف اسمه radio.html .

            2- قم بفتح محرر النصوص واكتب الكود التالي وقم بخفظه باسم radio.php

            3 - قم باختيار المشروب المفضل واختر إرسال .

            الشرح :
            في الواقع لقد قمنا بصنع أزرار راديو ولقد قمنا بوضع قيمة لكل زر تكون تابعة للعباره التي بجوار الزر . ولقد قمنا بوضع عبارة checked لكي ترى كيف أن الأداة التي تحتوي على العبارة تكون محددة تلقائيا ولاحظ أن العبارة التي تكون بجانب الزر تكون موجودة أسفل كود الزر مثل :



            العبارة هي الملونة باللون الأحمر .
            وأيضا لاحظ أننا استخدمنا متغيراً واحداً فقط لجميع الإختيارات بحيث أن جميع الأزرار قيمتها تعود إلى هذا المتغير .

            القوائم (Lists Or drop down menus)
            اختر مواصفات زوجتك للمستقبل واسمها :
            تستخدم القوائم في الـhtml بشكل مختلف قليلاً عن الأداوت السابقة إذ أننا نستخدم وسمين من وسوم لغة html وهما :
            <select> لنقوم بإنشاء القائمة و <OPTION> ونستخدم الخاصية MULTIPLE إذا كنا نريد إتاحه الفرصه للمستخدم أن يختار أكثر من قيمة ونقوم بوضع القيمة التي يختارها المستخدم في متغير بواسطه الخاصية NAME أو في مصفوفة متغيرات (وسيتضح مفهوم المصفوفات لديك جيدا في درس المصفوفات باذن الله .

            تطبيق عملي :
            1- قم بفتح محرر النصوص لديك واكتب الكود التالي واحفظه في ملف باسم lists.html :


            2- قم بفتح ملف جديد واكتب فيه الكود التالي وقم بحفظه باسم lists.php :

            قم بتشغيل البرنامج
            http://localhost/lists.html
            واختر ماتريد ثم اضغط زر ارسال

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


            الاداة الخفيه (والمعلومات السريه!) (hidden control)
            هناك بعض الأوقات تحتاج فيها إلى إرسال بعض المعلومات من صفحة ويب الى صفحة ويب اخرى عن طريق النماذج وفي نفس الوقت أنت لاتريد المستخدم أن يقوم برؤية هذه المعلومات .

            في الواقع هناك أداة تساعدك على اخفاء هذه المعلومات على المستخدم يسمونها بحقل النموذج المخفي أو الأداة الخفية (hidden form field or hidden control) .

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

            يتم صنع هذه الحقول المخفية كالتالى :

            نقوم بوضع HIDDEN لكي يعرف المتصفح أن هذه المعلومات خفية (لاتظهر للمستخدم) ونضع اسما للمتغير الذي يقوم بالاحتفاظ بالمعلومات والذي يتخزن اسمه في الـNAME ونقوم بوضع المعلومات التي نريد اخفاءها في الـVALUE .

            نستطيع الاستفاده أيضا منها عن طريق الـphp وذلك عن طريق كتابة كود الـHTML بواسطة الأمر echo() في الـPHP كما في المثال التالى :



            هذا الكود الذي تراه عبارة عن كود HTML تم كتابته بالـPHP عن طريق الامر echo() ولقد استطعنا تخزين قيمة متغير php ($msg) في متغير html (secret) .

            تطبيق عملي :
            1 - افتح محرر النصوص واكتب الكود التالي واحفظه باسم hid.php :

            2- افتح محرر النصوص واكتب الكود التالي واحفظه باسم hid2.php

            3- قمت بنقل الملفين الى مجلد السيرفر ثم قم بتشغيل السكربت :
            http://localhost/hid.php

            الشرح :
            لقد قمنا بعمل نموذج بسكربت الـphp لاحظ أننا استخدمنا الـ(‘) بدلاً من (“) كما كنا نعمل في الـ html وذلك لاننا قلنا سابق أن القيم الحرفية ....... (راجع درس المتغيرات) ولقد قمنا بإدراج قيم متغيرات الـphp في كود الـhtml مما يوفر علينا الكثير من إعاده الكتابة (في حال كان النص المستخدم طويلاً ) .
            اقرا المثال أكثر من مر وسيتضح لك المقال أكثر .

            Delight yourself also in the Lord, and He will give you the desires and secret petitions of your heart

            !! Brothers and will stay until death !!

            Comment


            • #7
              الدرس الرابع

              النماذج

              النماذج في الويب أو صفحات الانترنت عبارة عن استمارات تقوم بتعبئتها ثم عند إرسالها لخادم الويب (السيرفر) يتلقاها برنامج يقوم بإجراء العمليات عليها مثل جافا سكريبت أو ASP أو php (في حالتنا ) .

              فائدة النماذج

              لنقل أنك مثلاً أردت شراء كتاب من الانترنت فإنك في الواقع تحتاج إلى تعبئة استمارة ببياناتك ورقم بطاقة الائتمان وغير ذلك من المعلومات ويتم ذلك عن طريق نموذج (فورم) .

              في الواقع أنت تقوم بإختيار الكتاب الذي تريد وتكتب اسمك ورقم هاتفك وصندوق بريدك (ربما) في فراغات أو عن طريق الإشارة الى مجموعة من الخيارات .
              يتم تخزين هذه القيم في المتغيرات التي يتم كتابتها في الخاصيه name (نتكلم عنها في هذا الدرس) ويتم ارسالها عند ضغط زر - ارسال البيانات - (submit) الى (البرنامج ) الصفحة التي سوف تقوم بمعالجة هذه البيانات (والتي يتم تحديدها في الخاصية ACTION) وإجراء العمليات عليها مثل تخزينها مثلاً في قاعدة البيانات أو ارسالها إلى البريد الالكتروني وذلك عن طريق الـphp .


              ماذا يعمل العميل في النماذج ؟


              إنه باختصار يقوم بتعبئة مربعات نصوص (تكستBox) ويقوم بوضع علامة صح في مربعات الاختيار (check boxes) أو يقوم بالتصويت أحيانا لشي معين فيختار زر اختيار (ازرار الراديو) .
              هذه الأشياء كلها يتم انشاءها بواسطة الـhtml ودرسنا لهذا اليوم يناقش كيفيه انشاءها وكيفيه التعامل والحصول على البيانات منها ، بقي علينا كبداية أن نعرف أن هذه الأدوات تنشأ في الواقع بين وسمين من وسوم لغه الـhtml وهي الوسمين
              <f<form
              </form>f
              خصائص النماذج

              يجمع النموذج جميع خصائص المضيف لكننا هنا سنتطرق الى اثنين منهما وهما ACTION و METHOD التي تستخدم بكثرة و مهمة لنا في دروسنا القادمة
              اما (ID;ClASS;NAME) فيلزمها تعمق في HTML خاصة عندما ندخل في ACCEPT-CHAR و ENCTYPE وستكون خارج نطاق موضوعنا حالياً وقد نفصلها في دروس قادمة إن شاء الله .

              ACTION

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



              METHOD
              هذه الخاصية تقوم بإخبار النموذج طريقة ارسال المعلومات الى الصفحة الهدف وفي الواقع هناك طريقيتين مشهورتين ومعروفتين لارسال المعلومات هما GET وPOST .


              ملاحظه /في الواقع يوجد اكثر من هذه الطريقيتن لارسال المعلومات وهي
              (CONNECT;HEAD;OPTIONSELETE:TRACE) وغيرها ولكن لاتستخدم الا بشكل نادر .

              دعنا الآن نفصل هاتين الطريقتين بشكل أوسع :

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

              http://localhost/test.html?name=value

              قد تكون النقطيتن الأخيرتين غير مفهومتين بشكل جيد بسبب أنك لم تتعامل مع النماذج من قبل .
              لكن الحقيقة أن النموذج يتكون من عناصر (مربع علامة , مربع نص , زر اختيار) ولكل من هذه العناصر عنوان خاص بها (name) ولكل منها قيمه خاصه بها (value) .
              وهي مشابهة للمتغيرات ويمكن أن يحتوي عنوان الصفحة على أكثر من عنوان (name)واكثر من قيمة (value) ويقوم بالتعريف عنهما باستخدام المعامل (&) .

              مثال :
              http://localhost/test.html?animal=cat&age=30

              تسمى الإضافة التي تظهر بعد علامة الاستفهام (query String) نتيجه الاستعلام الحرفية.
              العنوان دائما يكون باللغه الانجليزيه (name) ونعامله كانه اسم متغير من المفترض تعريفه في الصفحه الهدف (التي سنكتبها بالـPHP).

              قد تحتوي القيم على فراغات او معاملات مثل (+،-،\،#،%)
              يقوم المتصفح باستخدام لغه تشفير الصفحات URL ENCODING .
              أيضا يستخدم الـURL ENCODING مع الأحرف العربية أو اللغات الأخري غير الإنجليزية في كتابة الحرف .

              URL Encoding
              هناك بعض الأحرف لايستطيع المتصفح إضافتها لعنوان الصفحة بصيغتها الحقيقية بل يستخدم لغة التشفير في التعريف عنها وهذه جداول بالرموز الذي يستخدم المتصفح كود بدلا من عرضها بصيغتها الحقيقية


              لاتقلق فليس عليك أن تحفظ كل هذه العلامات وتشفيراتها بل سيقوم المتصفح بالعمليه كلها بدلا عنك .

              POST
              في الواقع وظيفتها هي نفس وظيفة الـget ولكنها لاترسل المعلومات في عنوان صفحة الانترنت بل تقوم وضعها في الـbody التابع لـhttp response .
              بالإضافه إلى أنه يستطيع ارسال البيانات بكمية أكبر من الـGET .

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

              أيضا الـPOST مفيدة في إخفاء المعلومات وإحتواء كميات كبيرة من البيانات ولكن لايمكن الاحتفاظ بعنوان الصفحة .... مع ذلك فإنها أيضا ليست جيدة في الحماية بحيث أن أي هاكر خبير يمكنه الحصول على المعلومات إذا لم يكن لها تشفير معين في نقلها ..لكن اذا اردت فعلاً ان تجعلها محمية فيجب عليك استخدام اتصال محمي الى سيرفر محمي .... او مايسمونه (SCURE CONNECTION TO SCURE SERVER) .


              أدوات التحكم في النماذج :


              في الواقع أن أدوات التحكم عبارة عن مربعات النصوص العاديه (التي يدخل فيها المستخدم اسمه وعنوانه ) وازرار الراديو ( والتي يقوم المستخدم فيها باختيا شي معين (مثل الوجبه المفضلة لديه او المشروب المفضل اليه ) ومربعات الاختيار (التي تتيح للمستخدم أن يختار مايشتهي ويحب من الخيارات المعروضة )
              وأيضا القوائم التي تساعدك على اختيار أكثر من شي أو شي واحد .

              في أغلب هذه الاشياء يتم استعمال الوسم
              <INPUT>
              وتلخيص تفصيله كالتالي :


              الشرح :

              1 - TYPE= type
              نحدد نوع الكائن إذا كان زر راديو أو مربع نص عادي أو مربعات الاختيار .

              2 - NAME= name
              تقوم فيها بإعطاء اسم لمتغير يتم حفظ القيمة فيه .

              3 - VALUE= value
              سيتضح وظيفته أكثر عندما ندرج عليه أمثله إذ أن عمله يختلف من أداة إلى أخرى .

              تطبيقات عمليه
              سنقوم في هذه التطبيقات بصنع برامج بسيطة تتكون من ملفين ، الملف الاول يحتوي على كود HTML يقوم بتكوين النموذج والملف الثاني يقوم بإستقبال النتائج وطباعتها .

              مربعات النصوص (تكست Box) :
              نقوم بعمل ذلك كالتالى :
              1 - قم بتشغيل محرر النصوص لديك .
              2 - اكتب الكود التالي :


              3 - قم بحفظ الملف كصفحة HTML . وقم بتسميته tex,tbox.html
              4 - افتح محرر النصوص إذا كنت أغلقته .
              5 - اكتب الكود التالي :

              6 - قم بحفظ الملف كـ php . وقم بتسميته tex,tbox.php .
              7 - الآن قم بأخذ الملفين وضعهما في مجلد السيرفر لديك .
              8-قم بتشغيل السيرفر واكتب في مستعرض الانترنت لديك
              http://localhost/tex,tbox.html
              9 - قم بكتابة وجبتك المفضلة واضغط زر إرسال .
              10- ستظهر النتيجة .

              لاحظ كيف ظهر العنوان :
              http://localhost/tex,tbox.php?food=%CC%C8%E4%C9+%E6%E3%D1%C8%ED

              الشرح
              لقد قمنا في البداية بعمل صفحة تتكون من نص و مربع نص وزر يقوم بعملية إرسال البيانات
              قمنا بصناعة بداية النموذج بواسطة الوسم <FORM> وقمنا بتحديد المكان الذي سيتم ارسال البيانات إليه بواسطة
              ACTION=”tex,tbox.php”
              وقمنا بصنع مربع النص بواسطه الوسم INPUT واخترنا الـ
              TYPE=”
              tex,t
              كما قمنا بوضع القيمة الإفتراضية فيه بواسطة القيمة
              Value= “جبنه ومربة”
              وقمنا بوضع الناتج الذي يضعه المستخدم في مربع النص في المتغير food .

              (لاحظ ان تسميه المتغيرات حساسه لحاله الاحرف في PHP واننا لم نقم بوضع $ في صفحه المتغير في كود الـhtml ).

              وأيضا لقد قمنا بإضافه زر بواسطة
              TYPE=SUBMIT

              وقمنا بوضع كلمة على الزر وهي كلمة (إرسال)
              VALUE = “إرسال”

              أيضا قمنا بصنع زر آخر
              Type =reset

              وقمنا بجعل العبارة التي عليه (مسح)
              Value=”مسح”

              هناك نوعين من الازرار هي SUBMIT وRESET
              1- الـsubmit يقوم بإرسال المعلومات .
              2- الـreset يقوم بمسح البيانات في جميع الأدوات في النموذج لإعاده إدخالها من جديد .

              بعد ماقمنا بادخال البيانات وضغط زر الارسال قام النموذج بارسال البيانات إلى الصفحة المحددة في الخاصية ACTION وقامت الصفحة المحددة بإستقبال النتائج الموجودة في النموذج وهي نتيجة واحدة في مربع نصوص تم حفظ قيمته في المتغير food .
              وقامت بطباعتها بواسطة الدالة echo .

              نظرا لاننا استخدمنا الاسلوب GET فقد تم اعطاءنا عنوان الصفحه بالاضافه الى (?) وايضا المعلومات المسجله في المتغيرات والتي تم استخدام الURL ENCODING فيها لانها تستخدم حروف عربيه .


              مربعات النصوص الكبيره (
              tex,t area) طلبات اكبر للطعام الشهي !

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

              تستخدم هذه الأداة وسم فتح ووسم إغلاق

              <f<TAX1TAREA
              </TAX1TAREA><f<TAX1TAREA
              ويمكنك تحديد حجمها بواسطه تحديد الصفوف بالخاصية rows والأعمدة بالخاصية cols .
              تمرين عملي
              1- قم بفتح محرر النصوص لديك
              2- قم بكتابة الكود التالي :

              3- قم بحفظ الملف باسم TAREA.html .
              4- الآن قم بفتح ملف جديد في محرر النصوص .
              5- قم بكتابة الكود التالي :

              6- قم بحفظ الملف باسم tarea.php
              7- قم بوضعهما في مجلد السيرفر لديك .
              8- قم بتشغيل البرنامج .

              http://localhost/tarea.html
              9- قم بضغط الزر لارسال البيانات .
              10- شاهد النتيجه.

              الشرح
              لانضيف شيئاً على قولنا هنا سوى أننا نريدك أن تلاحظ كيف جهزنا القيمة الإفتراضية بكتابة نصوص بين وسومات الـ
              tex,tarea وأيضا أننا استخدمنا الأسلوب POST في ارسال البيانات مما جعلها لاتظهر في شريط العنوان .
              وأن الـNAME تحدد اسم المتغير التي ستذهب إليه القيمة واسم المتغير في الكود لايحتوى على $ لأنه كود HTML وليس PHP .


              مربعات الاختيار (Check Box) اكثر من خيار في وقت واحد !


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

              يمكننا صنع مربع العلامة بواسطه الوسم INPUT
              <INPUT TYPE = ”CHECKBOX” NAME = “swalif” value
              = ”سوالف” checked>

              نقوم بتحديد نوع الأداة بأنها مربع علامة في هذا الجزء
              TYPE = ”CHECKBOX”

              نقوم بتحديد اسم المتغير في هذا الجزء
              NAME = “swalif”

              ونقوم بتحديد القيمه التي يتم وضعها في المتغير اذا قام المستخدم باختيار مربع العلامه في هذا الجزء :
              value= ”سوالف”

              اذا لم تقم بوضع الخيار value فستكون القيمه الافتراضيه هي on عند اختيار المستخدم مربع العلامه وستكون فراغ اذا لم يقم المستخدم باختيار المربع.

              ونقوم بوضع القيمه الإفتراضية بإضافه الكلمة checked فإذا تم وضع هذه الكلمة يكون مربع العلامة مختار تلقائياً أما إذا لم نتكبها فسيكون بدون علامة الاختيار .

              Checked

              تطبيق عملي (1) :
              1- قم بفتح المفكرة وقم بكتابة الكود التالي :


              2- قم بحفظ الملف باسم check.html .
              3- قم بفتح ملف جديد في المفكرة وقم بكتابة التالى :


              4- قم بحفظ الملف باسم check.php .
              5- قم بنقل الملفين الى مجلد السيرفر .
              6- اكتب في المتصفح
              http://localhost/check.html
              7- النتيجه


              الشرح
              في الواقع لقد قمنا بتطبيق ثلاث تمارين التمرين الاول أردنا لفت النظر إلى أننا قمنا بعدم استخدام value للمتغير وتم إعطاء القيمة on عند اختيار المستخدم مربع العلامة بالإضافة أن مربع العلامة كان مختاراً بسبب وضعنا الخاصية CHECKED ولكن التمرين غير عملي وغير جيد بدون وضع قيم VALUE عند وضعنا لأكثر من مربع اختيار لذلك فقد قمنا باضافه قيم يتم وضعها في المتغيرات عند اختيار المستخدم لها كما في التمرين الثاني وأردنا لفت النظر في التمرين الى شي يسمي بالمصفوفات فإذا أردنا مثلا أن نجعل اسم المتغير متشابها واجراء عمليات تكون أسرع عليه نستخدم المصفوفات ولن نتطرق إلى المصفوفات حالياً ولكن أردنا لفت نظرك فقط وسنقوم بالتكلم عن المصفوفات بالتفصيل في الدروس القادمه باذن الله هي والتكرارات بعد التكلم عن العبارات الشرطية في الـPHP .


              ازرار الراديو(RADIO BUTTONS) (اختر المشروب المفضل !)


              ماهو اختيارك المفضل ؟ علما بانه لايمكنك اختيار اكثر من خيار واحد !!

              في الواقع إن زر الراديو يتيح لك أن تختار شي واحد من بين عدة اختيارات ونراه كثيراً عند اتفاقيات البرامج حيث يعطيك فرصه إما بقبول الإتفاقية أو رفضها ويكون واحد من الاختيارين محددا (وهو خيار الرفض!) .

              يتم استخدام ازرار الراديو باستخدام العبارة <INPUT> كالتالى :

              <INPUT TYPE = ”radio” NAME = “name” value= ”value” checked>

              نقوم بتحديد نوع الكائن بانه زر راديو في هذا الجزء :
              TYPE = ”radio”

              نقوم بتحديد اسم المتغير في هذا الجزء :
              NAME = “name”

              نقوم بتحديد القيمة التي ستكون في المتغير هنا :
              value= ”value”

              في الواقع مع ازار الراديو نقوم بجعل اسم المتغير name هو نفسه والقيم مختلفة value
              لكل سؤال . وإذا لم نقم بوضع قيمة فسيقوم PHP بوضع القيمة on للمتغير .

              تطبيق عملي :
              1- قم بتشغيل محرر النصوص لديك واكتب الكود التالي وقم بحفظه في ملف اسمه radio.html .

              2- قم بفتح محرر النصوص واكتب الكود التالي وقم بخفظه باسم radio.php

              3 - قم باختيار المشروب المفضل واختر إرسال .

              الشرح :
              في الواقع لقد قمنا بصنع أزرار راديو ولقد قمنا بوضع قيمة لكل زر تكون تابعة للعباره التي بجوار الزر . ولقد قمنا بوضع عبارة checked لكي ترى كيف أن الأداة التي تحتوي على العبارة تكون محددة تلقائيا ولاحظ أن العبارة التي تكون بجانب الزر تكون موجودة أسفل كود الزر مثل :



              العبارة هي الملونة باللون الأحمر .
              وأيضا لاحظ أننا استخدمنا متغيراً واحداً فقط لجميع الإختيارات بحيث أن جميع الأزرار قيمتها تعود إلى هذا المتغير .

              القوائم (Lists Or drop down menus)
              اختر مواصفات زوجتك للمستقبل واسمها :
              تستخدم القوائم في الـhtml بشكل مختلف قليلاً عن الأداوت السابقة إذ أننا نستخدم وسمين من وسوم لغة html وهما :
              <select> لنقوم بإنشاء القائمة و <OPTION> ونستخدم الخاصية MULTIPLE إذا كنا نريد إتاحه الفرصه للمستخدم أن يختار أكثر من قيمة ونقوم بوضع القيمة التي يختارها المستخدم في متغير بواسطه الخاصية NAME أو في مصفوفة متغيرات (وسيتضح مفهوم المصفوفات لديك جيدا في درس المصفوفات باذن الله .

              تطبيق عملي :
              1- قم بفتح محرر النصوص لديك واكتب الكود التالي واحفظه في ملف باسم lists.html :


              2- قم بفتح ملف جديد واكتب فيه الكود التالي وقم بحفظه باسم lists.php :

              قم بتشغيل البرنامج
              http://localhost/lists.html
              واختر ماتريد ثم اضغط زر ارسال

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


              الاداة الخفيه (والمعلومات السريه!) (hidden control)
              هناك بعض الأوقات تحتاج فيها إلى إرسال بعض المعلومات من صفحة ويب الى صفحة ويب اخرى عن طريق النماذج وفي نفس الوقت أنت لاتريد المستخدم أن يقوم برؤية هذه المعلومات .

              في الواقع هناك أداة تساعدك على اخفاء هذه المعلومات على المستخدم يسمونها بحقل النموذج المخفي أو الأداة الخفية (hidden form field or hidden control) .

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

              يتم صنع هذه الحقول المخفية كالتالى :

              نقوم بوضع HIDDEN لكي يعرف المتصفح أن هذه المعلومات خفية (لاتظهر للمستخدم) ونضع اسما للمتغير الذي يقوم بالاحتفاظ بالمعلومات والذي يتخزن اسمه في الـNAME ونقوم بوضع المعلومات التي نريد اخفاءها في الـVALUE .

              نستطيع الاستفاده أيضا منها عن طريق الـphp وذلك عن طريق كتابة كود الـHTML بواسطة الأمر echo() في الـPHP كما في المثال التالى :


              هذا الكود الذي تراه عبارة عن كود HTML تم كتابته بالـPHP عن طريق الامر echo() ولقد استطعنا تخزين قيمة متغير php ($msg) في متغير html (secret) .

              تطبيق عملي :
              1 - افتح محرر النصوص واكتب الكود التالي واحفظه باسم hid.php :

              2- افتح محرر النصوص واكتب الكود التالي واحفظه باسم hid2.php

              3- قمت بنقل الملفين الى مجلد السيرفر ثم قم بتشغيل السكربت :
              http://localhost/hid.php

              الشرح :
              لقد قمنا بعمل نموذج بسكربت الـphp لاحظ أننا استخدمنا الـ(‘) بدلاً من (“) كما كنا نعمل في الـ html وذلك لاننا قلنا سابق أن القيم الحرفية ....... (راجع درس المتغيرات) ولقد قمنا بإدراج قيم متغيرات الـphp في كود الـhtml مما يوفر علينا الكثير من إعاده الكتابة (في حال كان النص المستخدم طويلاً ) .
              اقرا المثال أكثر من مر وسيتضح لك المقال أكثر .

              Delight yourself also in the Lord, and He will give you the desires and secret petitions of your heart

              !! Brothers and will stay until death !!

              Comment


              • #8
                رد: لغة الـ &quot; Php &quot;

                أبو كابي يعطيك ألف عافي على هل موضوع...

                وعلى هل جهد الرائع ....
                أستبيحك عذراً يا قلمي ..
                أنهكتُكَ مع جزيرة/ الوجع/الحنين/الشوق..
                و هذيان جنوني...


                Comment

                Working...
                X