![]() |
|
دروس للمبتدئين عن أساسيات التعامل مع php - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : أقسام المقالات - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=89) +--- قسم : لغات البرمجة الأخرى (http://vb4arb.com/vb/forumdisplay.php?fid=110) +--- الموضوع : دروس للمبتدئين عن أساسيات التعامل مع php (/showthread.php?tid=4313) |
دروس للمبتدئين عن أساسيات التعامل مع php - Ahmad Jawad - 21-09-12 بسم الله الرحمن الرحيم
اريد ان اقدم هذه الدروس لجميع المبتدئين في التعامل مع php وارجو من الله العلي العظيم التوفيق والفائدة للجميع... ( من مواضيع العضو : روح مشرقة - المنتدى القديم ) تم تجميع الدروس في هذا الموضوع ------------------------------------------------- الدرس الأول الدرس الاول : انواع scripting language: أولاً
وهنا يتم تنفيذ الكود في جهاز الخادم باستخدام special web server application مثل:server side scripting language IIS وهو اختصار الى Internet Information Server Apache>> تعاملت معه بالبداية وسبب لي مشاكل مع قاعدة البيانات mysql فاستبدلته بالتالي.. wamp >> وهذا ماقمت بالتعامل معه كخادم حيث انه مرن في التعامل مع mysql 5 ومن الامثلة على هذا النوع من اللغات هي: PHP,ASP,CGI.......إلخ ثانيا :
client side scripting language هنا تتم المعالجة في جهاز العميل مباشرة بوجود برنامج المستعرض طبعاً والذي من خلاله يتم عرض النتائج على شكل html. ومن الامثلة على هذا النوع من اللغات هي: JAVA Script ,VB Script......إلخ ماهو php : بداية هو اختصار لـ hypertext preprocessor وتلاحظون معي جميعاً ان الاختصار يبدا بحرف h بينما كلمة php تبدا بحرف p ؟ الجواب هو ان php تعتبر من recursive abbreviating أي تعتبر من الاختصارات الغير مرتبة كما هو بالحقيقة تكتب كاملة فلاحظ لو اننا جينا نكتبها كما هي تكتب كاملة لكتبناها هكذا hpp ولكنها كتبت بالشكل php. تعريف php PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML
واضح كما يبدوا من التعريف انها لغة صممت بشكل رئيسي لتطوير المواقع ويمكن دمجها مع لغة html طبعاً. والفرق الاساسي بين php و html ان php تقوم بمعالجة للنماذج وغيرها من قيامها بعمليات حسابية وغيرها بينما html تعتبر من markup language اي انها تستخدم لعرض النصوص والصور دون قيامها بأي وظيفة معالجة كما في php. نبدأ بالبرامج : البرنامج الأول : php syntax PHP كود : <html> دالة phpinfo() تقوم باستعراض اعدادات php طبقوا الكود وسيتضح لكم كل شي ان شالله البرنامج الثاني : PHP كود : <html> أما هذا البرنامج فيقوم بطباعة جملة hello,world على صفحة المستعرض عن طريق دالة print() وهذه وظيفه لاتقوم بها html البرنامج الثالث : PHP كود : <html> البرنامج يقوم بطباعة جملة hellow world ولكن بتنسيقات ( لون الجملة احمر وتكون big اي حجمها سيكون كبير لن اشرح لكم tag لل html لانها واضحة باذن الله وسهلة وتكيزنا هنا بالدروس على php ولكنكم ستسألون انفسكم سؤالاً: لماذا تم وضع علامة \ قبل لون الخط red في جملة الطباعة؟؟ ساجيب وضعنا هذه العلامة\ حتى لا يسبب اشكالية لدالةprint() فتظن الprint ان " الموجودة قبل red هي نهاية لدالة الطباعه والتي بداناها ب" كما ترون. وضع تعليقات comments في البرنامج: هناك عدة طرق: 1- // وتستخدم لكتابة تعليق من سطر واحد 2- # لكتابة تعليق من سطر واحد ايضاً 3- /**/ لكتابة تعليق مكون من أكثر من سطر متطلبات عمل البرنامج : أولا : قم بتحميل برنامج wamp server او apache ثانيا: قم بتحميل برنامج php coder >> ليس ضروريا اذ انه بامكانك كتابة البرنامج بالمفكرة وحفظها بامتداد php ولكن البرنامج به ميزات رائعه اي انه يلون الكود ويرقم السطور ايضا فيكون اسهل في حالات وجود خطأ ما. ثالثا: بعد كتابة برنامجك قم بحفظه في الامتداد التالي: c://APPSERV/WWW حيث ان www تمثل localhost رابعا: لاستعراض نتيجة البرنامج قم بفتح المستعرض واكتب التالي: إقتباس :http://localhost/filename.php دروس للمبتدئين عن أساسيات التعامل مع php - Ahmad Jawad - 21-09-12 بسم الله الرحمن الرحيم
الدرس الثاني : اعزائي بعدما تقوم لغة php بعملية المعالجة ترسل للعميل صفحات متغيرة بمحتواها (dynamic page content) وليست صفحات ثابته (static page content) وللتوضيح اكثر : مثلاً : عندما يقوم اي شخص بالتسجيل بمنتدانا العزيز ليس بالضروري وليس من الثابت ان تظهر الصفحة التي تقول : اهلا بك (اسم الشخص) فقد تظهر الصفحة التالية : لايمكنك الدخول للاسباب التالية.................. --------------------------------------------- تحتوي لغة php على المتغيرات(variable) وسوف نتعرف على المتغيرات بلغة php تركيبة المتغيرات وبنيتها : variable syntax 1- جميع أسماء المتغيرات لابد أن تبدا بالعلامة $ 2- بعد علامة $ ممكن ان نلحقها بحرف او underscore (شرطة سفلية) 3- لايمكن أن يبدا اسم المتغير برقم. 4- لايجوز استخدام الspace بين حروف اسم المتغير 5- اسم المتغير case sensitive أي انها حساسة بالنسبة للحروف الصغيرة والكبيرة اي انه لو كتبت متغير A$ يختلف عن المتغير a$ ------------------------------- أنواع المتغيرات : variable type 1- متغيرات رقميةnumber 2- متغيرات حرفية string 3-المصفوفات arrays وهناك نوعين من المصفوفات: الأول : indexed array ويستخدم هذا النوع من المصفوفات الأرقام بالمفاتيح (key) مثال : PHP كود : $array[2]; النوع الثاني : associated array وتستخدم الحروف بالمفاتيح (key) مثال : PHP كود : $array[a]; 4- ال objects ------------------------- تخصيص قيمة للمتغيرات: (assigning value to variable) 1- تختلف لغة php عن c++ في انها لاتحتاج لتعريف متغيراتها(declare) واعطائها قيم ابتدائية(initialize) حيث ان المتغير في php حسب قيمته المتخصصة ياخذ التعريف فلا يحتاج اجراء تعريف للمتغيرات اي لايحتاج ان نكتب مثلا PHP كود : int $a=1; فنكتفي بكتابة : PHP كود : $a; 2- يتم استخدام عملية المساواة =(equality) في عملية تخصيص قيمة للمتغيرات مثال : $ PHP كود : year = 2003; // The current year. ---------------------------------------------- الأخطاء (errors) في php أولاً : parse error تكون الاخطاء عبارة عن نسيان لعلامة الفاصلة المنقوطة semicolons; أو نسي اقفال الاقواس parantheses () أو نسيان قفل علامة التنصيص quotation marks "" ثانياً : undefined variable error وتكون هذا النوع من الاخطاء ناتجة من اخطاء بكتابة اسم المتغير . مثال تطبيقي على المتغيرات : PHP كود : <html> مثال تطبيقي آخر : PHP كود : <html xmlns="http://www.w3.org/1999/xhtml"> مثال آخر : PHP كود : <html xmlns="http://www.w3.org/1999/xhtml"> وسوف تلاحظ اننا كتبنا التالي لدالة الطباعه وهي تختلف عن دالة الطباعه السابقة PHP كود : print_r ($GLOBALS); اتدرون لماذا؟ لان المتغير هنا من نوع مصفوفة وهذه هي طريقة من طرق طباعة المصفوفات ساقوم بشرح المصفوفات بشكل تفصيلي اكثر في الدروس القادمة ان شالله تعالى ولكن حبيت اعطي فكرة مبسطة طبقوا الكود وشوفوا النتيجة دروس للمبتدئين عن أساسيات التعامل مع php - Ahmad Jawad - 21-09-12 بسم الله الرحمن الرحيم
الدرس الثالث : ملاحظة : اعزائي اذا نريد تعريف نوع المتغير في php فهكذا يتم تعريف المتغير .... PHP كود : $x=(integer)5; لانني في الدرس الثاني أخطات بها نرجو المعذرة ---------------------------------------------------------------- Form Attributes (خصائص النموذج ) : 1- action attribute : وظيفة هذه الخاصية اخبار الخادم ( server) أي صفحة او سكريبت (script ) سيستقبل البيانات (data) من النموذج (form) PHP كود : <form action="handle_form.php"> ففي المثال السابق تقوم الصفحة المسماة باسم handle_form.php باستقبال البيانات من النموذج ومعالجتها. ولاحظ هنا بالمثال اننا ذكرنا اسم الصفحة مباشرة بدون ذكر امتداد الصفحة وذلك لان جميع الصفحات موجودة بمجلد واحد داخل مجلد www ولكن اذا لم تكن الصفحة المعالجة التي ستسقبل البيانات من النموذج موجودة بنفس ذاك المجلد فلابد من ذكر المسار كاملاً. ملاحظة: ولاتنسوا ان جميع الصفحات لابد ان تكون بداخل مجلد www سواء مباشرة او داخل مجلد داخل www المهم تكون داخل www. 2- method attribute ووظيفة هذه الخاصية للنموذج اخبار الخادم بكيفية ارسال بيانات النموذج الى السكريبت المعالج (الصفحة المعالجة) handling script مثال : PHP كود : <form method="post" action="handle_form.php"> وهناك طريقتين من طرق الارسال: 1-Ger method: وهنا يتم ارسال بيانات النموذج ملحقة كجزء من URL)UNIFORM RESOURCE LOCATOR) 2- Post nethod: وهنا يتم ارسال البيانات بشكل مخفي بشكل سري أي ان المستخدم لايستطيع مشاهدة بيانات النموذج المرسلة وهنا بهذه الطريقة نحصل على سرية وامان اكثر. اذاً متى نستخدم الطريقة وعلى أي اساس نختار الطريقة المناسبة: 1- يفضل استخدام الطريقة الاولى في حالات كون بيانات النموذج المرسلة قليلة ومحدودة. 2- لايفضل استخدام الطريقة الاولى في حال كون البيانات المرسلة سرية جدا مثل pasword. 3- الصفحة الناتجة من نموذج يستخدم الطريقة الاولى تكون قابلة للحفظ بالمفضلة bookmarked بينما لايمكن ذلك في حال استخدام الطريقة الثانية. استقبال بيانات النموذج : يتم تفعيل (triggered) لل php script بعد الضغط على زر submit ففي هذه الحالة وبعد الضغط على زر الارسال submit تقوم الصفحة المعالجة والموجودة في خاصية action كما ذكرنا سابقا باستقبال بيانات النموذج ومعالجتها عرض الأخطاء(displaying errors): بإمكانك السماح لخاصية عرض الخطأ بالتفعيل وذلك يفيد في عرض الاخطاء لديك ببرنامجك وذلك عن طريق استخدام الدالة ini_set مثال: PHP كود : ini_set('display_errors',1); الرقم واحد في المثال السابق يشير الى ان خاصية عرض الاخطاء فعالة بينما لو قمت بوضع القيمة صفر فانك بذلك تلغي فعالية عرض الاخطاء ببرنامجك وهذا يفيدك احيانا في حال كون الخطا الناتج عبارة عن تحذير (warning ) وليس خطأ كبير . تلاحظ أننا بالامثلة السابقة لم نقم بتخزين المتغيرات بداخل مصفوفة post وذلك لان خاصية register_global=on ولكي تعرف ان هذه الخاصية فعالة ام لا يمكنك الاطلاع على اعدادت php من خلال دالة : PHP كود : phpinfo(); اي انه لو كانت الخاصية فعالة تستطيع php تمرير متغيرات وبيانات النموذج بشكل سليم وصحيح ولكن اذا كانت الخاصية register_global=off اي انها غير فعالة ففي هذه الحالة لابد من استخدام طريقة حفظ المتغيرات بداخل مصفوفة post والتي ستكون واضحة لكم بالمثال : الصفحة المحتوية على نموذج يطلب منك ادخال اسمك الاول فقط : PHP كود : <html xmlns="http://www.w3.org/1999/xhtml"> الصفحة التي تعالج بيانات النموذج ويكون اسمها handle_form.php PHP كود : <html xmlns="http://www.w3.org/1999/xhtml"> يتضح لك من المثال السابق اننا قمنا بتخزين المتغير name بداخل المصفوفةpost وذلك لان خاصية register_global غير فعالة واريدك ان تنتبه ان index للمصفوفةpost لابد ان يكون اسم input text اي انه في مثالنا اسم input text هو first_name.. ولكن لو كانت خاصية register_global فعالة فلا نقوم بتخزين المتغير name بداخل المصفوفة post ولكن انبهك هنا فمثلا لاحظ بالصفحة التي تحتوي النموذج لقد قمنا بتسمية input text باسم first_name ففي هذه الحالة سيكون مثالنا كالتالي اي اننا نقوم بطباعة المتغير والذي يكون اسمه هو نفس اسم input text : PHP كود : <html xmlns="http://www.w3.org/1999/xhtml"> PHP كود : <html xmlns="http://www.w3.org/1999/xhtml"> يتضح لك من المثال السابق اننا قمنا بتخزين المتغير name بداخل المصفوفةpost وذلك لان خاصية register_global غير فعالة واريدك ان تنتبه ان index للمصفوفةpost لابد ان يكون اسم input text اي انه في مثالنا اسم input text هو first_name.. ولكن لو كانت خاصية register_global فعالة فلا نقوم بتخزين المتغير name بداخل المصفوفة post ولكن انبهك هنا فمثلا لاحظ بالصفحة التي تحتوي النموذج لقد قمنا بتسمية input text باسم first_name ففي هذه الحالة سيكون مثالنا كالتالي اي اننا نقوم بطباعة المتغير والذي يكون اسمه هو نفس اسم input text : PHP كود : <html xmlns="http://www.w3.org/1999/xhtml"> دروس للمبتدئين عن أساسيات التعامل مع php - RaggiTech - 21-09-12 ما شاء الله استمر و الى الامام وانا متابع معك ان شاء الله
دروس للمبتدئين عن أساسيات التعامل مع php - Ahmad Jawad - 21-09-12 بسم الله الرحمن الرحيم
الدرس الرابع و حتى الحادي عشر الدروس بصيغة صفحات وسبب ذلك أنها طويلة وفيها إستفسارات ( في الردود ) لتحميلها من هنا تحياتي للجميع دروس للمبتدئين عن أساسيات التعامل مع php - Ahmad Jawad - 21-09-12 تسلم أخي ،،، - الدروس ليست لي وإنما أقوم بنقلها فقط - تحياتي لك ، ومرورك يشرفني دروس للمبتدئين عن أساسيات التعامل مع php - abulayth - 26-09-12 شكرا لصاحب الموضوع الاصلي والف شكر لناقل الموضوع يعطيكم العافية Ahmad Jawad كتب :تسلم أخي ،،، |