المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : ][ الدرس مفصل الثاني ][



loulou ange
11-01-2013, بتوقيت غرينيتش 01:15 PM
http://www.dzbatna.com/images/icons/iconrote.gif ][ ط§ظ„ط¯ط±ط³ ط§ظ„ط«ط§ظ†ظٹ ][ (http://www.dzbatna.com/t462819/)



السلام عليكم ورحمة الله وبركاتة

كيفكم اخواني ان شاء الله تكونوا بألف خير

عنوان درس مفصلنا لهذا اليوم هو:


الثوابت والمتغيرات تعرف على طريقة عملها

واتمنى تكونوا استفدتوا من الدرس مفصل الاول والذي تلخص بالتالي:

1-القوانين الخاصة بكتابة لغة الـ PHP.
2-لماذا عليك الاهتمام بكيفية ظهور الكود code الذي كتبتة؟
3-انشاء اول برنامج لك بهذه اللغة.
4-استخدام ال HTML في هذه اللغة .

وفي هذا الدرس مفصل الجديد سيكون شرح طريقةنا عن استخدام المتغيرات والثوابت...

فلنقل بسم الله ولنبدأ..

1-ما هي الثوابت وما هي طريقة عملها؟

*الثوابت هي تعتبر كصندوق يوضع به القيم التي تريدها.




*واهم ميزاتها:
1-انها تكون بأحرف كبيرة مثلا FAVMOVIE وهذا يسهل عليك ايجادها في الكود code الذي تكتبة.
2-لا تبدأ ابدا بأرقام فقط تبدأ بأحرف او بـ ( _ ) underscore .
3-حساسة لحالة الاحرف.(اما جميعها كابيتال او جميعها سمال)

*تعرف الثوابت عن طريق الدالة :
رمز PHP:

<code style="white-space:nowrap"> <code> define()
</code> </code>

مثال: افتح محرر البي اتش بي واكتب الكود code التالي:

http://www.3baer.com/php-les/1.png

احفظ الملف بأسم moviesite.php وقم بفتحه عن طريق المتصفح وشاهد ماذا حدث.^^

مالذي حدث في المثال السابق؟
الذي قمنا به هو بعد تعريف الثابت FAVMOVIE بأستخدام الدالة define قمنا
بوضع القيمة &quot;فيلم الرسالة&quot; به حتى نقوم بأستدعائه واظهاره لاحقا ومن اهم مميزاته بأنه لا يتغير ابدا

سأوضح الكلام بنقاط حتى تستوعبون اكثر:
1-قمنا بفتح الملف وكتابة الكود code الذي تعلمناه في الدرس مفصل السابق
2-قمنا بأنشاء صندوق وسمينا &quot;FAVMOVIE&quot; ووضعنا في هذا الصندوق &quot;فيلم الرسالة&quot;
3-قمنا بأستدعاء الامر echo ووضعنا الثابت FAVMOVIE
4-اظهرناها على المتصفح.

فقط سهلة اليس كذلك ؟

لننتقل الى الجزء الثاني والمهم في درس مفصلنا وهو:

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

*ما هي طريقة كتابة المتغيرات؟
تكتب المتغيرات بداية بأشارة $ الدولار
مثلا:
رمز PHP:

<code style="white-space:nowrap"> <code> $mohammad
$ali
$turky
</code> </code>

مميزاتها:

1-انها تقبل التغير.

2-بأنها حساسة لحالة الاحرف مثلا:

رمز PHP:

<code style="white-space:nowrap"> <code> $mohammad يختلف عن $Mohammad
</code> </code>

3-وهي تبدأ ايضا بحروف او ( _ ) وليس ارقاما.

فالنذهب لمثال جديد :

1- افتح ملف moviesite.php الذي قمنا بأنشاءه وقم بعمل التغيرات التالية عليه:

http://www.3baer.com/php-les/2.jpg

احفظ الملف وقم بأستعراضه على المتصفح وانظر للنتيجة ^^

لنشرح طريقة الاضافة التي قمنا بعملها على الكود code السابق:

1-قمنا بأنزال سطر بأستخدام الامر <br> الخاص بأوامر ال HTML

2-قمنا بتعريف متغير وسميناه movierate ووضعنا اشارة المساواة
اي هي اداة النقل التي تقوم
بنقل القيم من خارج الصندوق الى داخل الصندوق ووضعنا به الرقم 5

لاحظ بأننا قد عرفنا المتغير movierate على اساس انه رقم ولم نقم بوضع الرقم في &quot; 5 &quot;
ملاحظة:
رمز PHP:

<code style="white-space:nowrap"> <code> $user = "Mohammad";
$Mohammad = "123";
echo $$user;
</code> </code>

سيقوم بطباعة الرقم 123

هنا قمنا بتعريف المتغير user بالقيمة Mohammad وقمنا بتعريف المتغير Mohammad بالقيمة 123

وعند طباعة المتغير $$user سيقوم بأظهار القيمة الخاصة بالمتغير Mohammad

*انتبة الى حالة الاحرف

انواع المتغيرات وهي :
-String اي مثل هذه الكلمة وتوضع بين علامات التنصيص &quot;انا متفوق&quot;
-numbers اي انها ارقام عادية مثل 123445
-intger مثل السابق
-double هي ارقام بفواصل مثل 123.1213
-boolean (true/fales) وهي تعطيك ناتج اما صحيح او خاطئ


تعرفنا على المتغيرات وتعرفنا على الثوابت للنتقل لشيء جديد الان وهو:

3-كيف اقوم بتمرير المتغيرات ما بين صفحات برنامجي؟

فالنفترض بأنك تسمح لزوارك بوضع اسمائهم في بداية صفحات موقعك ,
ولكن السؤال هنا هو كيف
يمكنك تمرير اسم الزائر من صفحة الى اي صفحة اخرى ؟

الاجابة بأنه يوجد اربع طرق لعمل ذلك وهي:

1-تمرير المتغير او الاسم من خلال الـ URL :هو تمرير المتغير من خلال شريط العنوان بأعلى المتصفح.
2-او من خلال session: هو تمرير المتغير من خلال الـstatus bar في اسفل المتصفح.
3-من خلال الـ cookie: هو تمرير المتغير من خلال ملف يقوم بأنشاءه جهازك وحفظة .
4-من خلال html form: هو مثل تسجيل الدخول وكلمة المرور في المنتديات.

بعض الدوال المهمة معرفتها قبل البدء بالشرح طريقة للطرق الاربعة:

http://ruf3.com/uploads/09a2274abd.png (http://ruf3.com)

الطريقة الاولى وهي :

1-تمرير المتغير او الاسم من خلال الـ URL :

هذا مثال بسيط لتتعرف الى هذه الطريقة..

رمز Code:
http://www.mydomain.com/news/articles/showart.php?id=12345
في هذا المثال قمنا بطلب الـملف المصاحب للـ ID رقم 12345 ليظهر في صفحة showart.php من هذا السكريبت script.
النص ما بعد الـ URL يسمى query string .

هذه بعض الملاحظات على هذه الطريقة:

* اي شخص بأمكانة رؤية القيمة المحفوظة في المتغير الذي تقوم بأرسالة عبر الـ URL لذا لن تكون هذه الطريقة امنة خصوصا
عند ارسال معلومات حساسة مثل كلمة المرور او رقم هاتف او ايميل او ماشابة.
* اي شخص بأمكانة تغير محتوى القيم في URL لذلك برنامج سيكون مفتوح للجميع .

مثال على هذه الطريقة :

1- قم بفتح الملف moviesite.php وعدل عليه التالي:

http://www.3baer.com/php-les/3.png


2-احفظ الملف وقم بفتح ملف جديد واكتب به الكود code التالي:

http://www.3baer.com/php-les/4.jpg


الان قم بحفظ الملف بأسم movie1.php وافتحه في متصحفك وانظر للنتيجة..

http://ruf3.com/uploads/5048983d51.png (http://ruf3.com)

اضغط على الرابط لترى النتيجة..

http://ruf3.com/uploads/474f8e4063.png (http://ruf3.com)

سترى بأن القيمة التي ادخلناها للمتغير
رمز PHP:

<code style="white-space:nowrap"> <code> $favmovie
</code> </code>

عن طريق الرابط هي &quot;القيصر&quot; لكن لاحظ بأنه لايوجد شيء في الصفحة التي تليها يعني
فقط كلمة القيصر موجوده بالرابط وليست موجوده بالصفحة
اي ان المتغير قيمته فارغه ولا يوجد به شيء

ولنقم بحل هذه المشكلة قم بعمل التغيرات التالية على الملف moviesite.php

http://www.3baer.com/php-les/5.png


الان احفظ العمل وقم بتشغيل الملف movie1.php
واضغط على الرابط ولاحظ الفرق بالصورة التالية

http://ruf3.com/uploads/c795866173.png (http://ruf3.com)

لاحظ بأن كلمة القيصر قد ملأت الفراغ في المثال السابق ..


لنقم الان بشرح طريقة ما هية المثالين السابقين وما الذي قمنا بتنفيذة..

1-قمنا بتعريف متغير بملف moviesite.php بأسم $favmovie ولم نقم بأعطائة اي قيمة.

2-قمنا بفتح ملف جديد وكتبنا به رابط خاص بملف moviesite.php يقوم بأستدعاء
المتغير favmovie واعطائة القيمة &quot;القيصر&quot; بعد اشارة المساواة.

3-بعد اظهار النتائج لم تظهر النتيجة المطلوبة وقمنا بتعديل الملف moviesite.php.

4- في الملف السابق قمنا بأضافة متغير خاص يقوم بحمل متغير اخر ويأخذ قيمتة عن طريق
الرابط المرسل له بخلال المتصفح كما عرفناه بهذه الطريقة:
رمز Code:
moviesite.php?favmovie=القيصر
هنا قمنا بتعريف المتغير favmovie بأن قيمته هي &quot;القيصر&quot; ووضعناه في المتغير favmovie
عن طريق المتغير الخاص
رمز PHP:

<code style="white-space:nowrap"> <code> $_REQUEST&#91;'favmovie'&#93;
</code> </code>

فأصبح بعد اخذ القيمة بالرابط من المتصفح وهي القيصر اصبح هذا المتغير الخاص بهذا الشكل
رمز PHP:

<code style="white-space:nowrap"> <code> $_REQUEST&#91;'القيصر'&#93;
</code> </code>

----------------------------------------
تدريب بسيط على هذه الحالة:- قم بتجريب كلا من
رمز PHP:

<code style="white-space:nowrap"> <code> $_GET
</code> </code>

رمز PHP:

<code style="white-space:nowrap"> <code> $_POST
</code> </code>

بدلا من
رمز PHP:

<code style="white-space:nowrap"> <code> $_REQUEST
</code> </code>

----------------------------------------

ملاحظة مهمه جدا:

عند تمرير المتغيرات بطريقة الـ URL (الرابط) لا تقم بكتابة احرف خاصة مثل المسافة
او اي من الاحرف الخاصة.

* لنتعلم الان دالة جديدة وهي
رمز PHP:

<code style="white-space:nowrap"> <code> urlencode()
</code> </code>

ما هي وظيفة هذه الدالة؟

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

لنقم بتجربة هذه الدالة وقم بتحرير ملف movie1.php وقم بعمل التغيرات التالية:

http://www.3baer.com/php-les/6.png


قم بتشغيل الملف ولاحظ ماذا حدث للرابط في الاعلى..

http://www.3baer.com/php-les/9.png

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

لننتقل الان الى الطريقة الثانية من طرق تمرير المتغير وهي:

2-تمرير المتغيرات من خلال session :

الاسئلة المهمه في هذه الطريقة هي :
* ما هو الـ session ?
* ما اهم مميزاته ؟
* كيف يتم تعريفة بالسكريبت script ؟

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

عند التطبيق العملي ستقوم بفهم الجلسات بسلاسة اكثر..^^

ما اهم مميزات الـ session او الجلسات؟

* اهم مميزه انها تدمر بعد اغلاق الزائر لصفحة موقعك
* ايضا انها تختلف اختلافا تاما من زائر الى اخر
* انها اكثر امانا اي يمكننا ارسال اسم المستخدم والباسوورد من خلالها ولا يكونا ظاهرين

كيف يتم تعريف دالة الـ session في صفحات موقعنا:
لتعريف الجلسات نستخدم الدالة التالية:
رمز PHP:

<code style="white-space:nowrap"> <code> session_start()
</code> </code>

واهم نقطة انها تكون في بداية اي صفحة وقبل كتابة اي كود code HTML اي بهذه الطريقة

رمز PHP:

<code style="white-space:nowrap"> <code> <?php
session_start() </code> </code>

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

لنفترض بأنك تريد تمرير اسم المستخدم والتأكد من انه يستخدم الشكل الاصلي بالدخول الى صفحتك..

1- قم بفتح ملف movie1.php واضف في بدايته الكود code التالي :

http://www.3baer.com/php-les/7.png

2-قم بحفظ الملف
3-قم بفتح الملف moviesite.php وقم بعمل التغيرات التالية:


http://www.3baer.com/php-les/8.png


الان احفظ الملف وقم بأستعراض الملف moviesite.php هل لاحظت بأنه لم يسمح لك بالدخول للصفحة؟؟
وكتب لك بأنك قمت بالدخول بطريقة غير صحيحة وهذا ما قمنا بعمله عندما استخدمنا الدالة الشرطية if

قم الان بفتح الملف movie1.php واضغط على الرابط وانظر ما الذي حدث لقد قام
المتصفح بالمرور الى الصفحة الاخرى وقم بكتابة الاسم الذي وضعناه داخل المصفوفة
رمز PHP:

<code style="white-space:nowrap"> <code> $_SESSION&#91;'username'&#93; = "محمد";
</code> </code>

البعض سيتسائل لم نقم بتعلم الدالة الشرطية حسنا هذا ليس مهما فهذا المثال للتوضيح فقط
سأقوم بشرح طريقة الدالة الشرطية if في الدرس مفصل القادم بأذن الله ..

حسنا ما الذي تعلمناه في هذا المثال:

1- طريقة استخدام المصفوفه SESSION ومكان وجودها داخل السكريبت script
2- كيفية التحقق من ان المستخدم قام بالدخول الى الصفحة بالشكل الصحيح

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

لننتقل الان الى الطريقة الثالثة وهي :
3- تمرير المتغيرات عن طريق ال Cookie :

وهي معلومات صغيره جدا تحفظ على اجهزة الزوار الذين يدخلون الى موقعك..

ينصح بعدم استخدام الكوكيز في السكريبت scriptات..
احد اهم الاسباب لذلك هو انه يوجد مستخدمين يقومون بأغلاق هذه الخاصية لديهم في متصحفاتهم

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

بقية طريقة واحدة لدينا وهي عن طريق الـ form الموجود بالـHTML ولأهميتها
ولطول هذا الدرس مفصل سأقوم بنقلها الى الدرس مفصل الثالث املا بأن تكونوا قد اخذتم وقتكم ودرس مفصلتم هذا الدرس مفصل جيدا
لما له اهمية كبيرة في دروسنا القادمة..

يكفي الى هنا في هذا الدرس مفصل الله يعطيكم العافية وارجوا ان لا تملوا من طول الدرس مفصل
ولكن هذه الدورة مكثفة جدا وستكون كبيرة جدا وهي من الصفر وحتى الاحتراف في هذه اللغة الشيقة

اسئلة على الدرس مفصل :

اي من المتغيرات التالية خاطئة

رمز PHP:

<code style="white-space:nowrap"> <code> $_mohammad
$1mohammad
$User
</code> </code>



تدريب بسيط لما تعلمنا في درس مفصلنا هذا :
1- قم بتعريف ثابت اخر وقم بعرضة في المتصفح ..
2- قم بتعريف متغير جديد واعطائه اي قيمة ومرره من خلال الرابط بالمتصفح ويأخذ نفس قيمته..
3- قم بكتابة المتغير $favmovie ما بين الوسوم الخاصة بعنوان الصفحة ..

هذه تدريبات بسيطة لتقومو بكتابة الاكواد والتعرف عليها وتعلمها لما فيه فائدة لكم..

اتمنى بأن اكون قد وفقت في الشرح طريقة وان لا اكون قد اهملت اي شي

لدية اي ملاحظة او اي سؤال او استفسار فسأل ولا تتردد وسأقوم بالاجابة عليه

شكرا لكم اخواني وحسن متابعتكم وفقكم الله لما يحب ويرضى

ودمتم بألف خير

^^

نصيحة اخواني ارجوكم ثم ارجوكم ثم ارجوكم ان تقوموا بقراءة الدرس مفصل
مرارا وتكرارا حتى تيقنوا بأنكم قد استوعبتم كل ما جاء به





ألعاب الأندرويد مجانا و حصريا (http://www.apotox.info/forum)




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى