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


مرحبا بك من جديد يا زائر فى منتديات فبركة ايجى
 
الرئيسيةالبوابةأحدث الصورالتسجيلدخول

 

  الدرس الثامن والعشرون: الجلسات في PHP

اذهب الى الأسفل 
كاتب الموضوعرسالة
The Rock
المدير العام™
المدير العام™
The Rock


 الدرس الثامن والعشرون: الجلسات في PHP P60tur5o60jd
المزاج  الدرس الثامن والعشرون: الجلسات في PHP Pi-ca-18
ذكر
SmS  الدرس الثامن والعشرون: الجلسات في PHP F9ues51nlw7q
عدد المساهمات : 1857
تاريخ التسجيل : 06/02/2013

 الدرس الثامن والعشرون: الجلسات في PHP Empty
مُساهمةموضوع: الدرس الثامن والعشرون: الجلسات في PHP    الدرس الثامن والعشرون: الجلسات في PHP Icon_minitimeالسبت يونيو 29, 2013 12:52 pm

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


بسم الله الرحمن الرحيم

نتمنى ان تكون الاستفاده ممتازه من هذه الدروس ولا تترد بطرح اي سؤال على بريد الموقع او بريدي الشخصي وسوف يسعدني ان اقوم بالمساعده , اذا قمت بأي خطأ او كان هناك خطأ في معلوماتي الرجاء اعلامي بذلك , فلا تنسى انه جل من لا يسهو . ( ان اصبت من الله وان اخطأت فمن نفسي او الشيطان )

متطلبات قبل البدأ :

مراجعة جميع الدروس السابقه

اهداف الدرس:

تعريف الجلسات
الكوكيز ( Cookies )
انشاء الجلسات بشكل مبسط
مثال مبسط على الجلسات

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

تعريف الجلسات :

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

 الدرس الثامن والعشرون: الجلسات في PHP L28e1


الكوكيز ( Cookies ) :

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

انشاء الجلسات بشكل مبسط :

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

بدأ الجلسه

تسجيل متغير الجلسه

استخدام متغير الجلسه

الغاء متغير الجلسه وتدمير الجلسه

ليس بالضروره ان تكون جميع هذه الخطوات في صفحه برمجيه واحده, ويمكن ان تكون على عدة صفحات, لا تنسى ذلك !

بدأ الجلسه

يجب علينا ان نقوم بتفعيل ( بدأ ) الجلسات قبل عمل اي شي في الصفحه ويمكن فعل ذلك عن بالطريقه التاليه :

 الدرس الثامن والعشرون: الجلسات في PHP L28e2

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

تسجيل متغير الجلسه

هل تذكر المصفوفه $_GET والمصفوفه $_POST والمصفوفه $_SERVER سوف نتعلم الان مصفوفه جديده واسمها $_SESSION وهذه المصفوفه تقوم بتخزين كل المتغيرات بها. فلو اردنا ان نقوم بإنشاء متغير جلسه اسمه ( الاسم ) ونضع به القيمه 5 سوف نقوم بالتالي :

 الدرس الثامن والعشرون: الجلسات في PHP L28e3

استخدام متغير الجلسه

لكي يمكنك استخدام متغير جلسه يجب علينا في البدايه بدأ الجلسه ثم استخدام المتغير عن طريق المصفوفه بالطريقه التاليه :


 الدرس الثامن والعشرون: الجلسات في PHP L28e4
نفس الطرق التي تعلمناها في السابق, لا تخف من الجلسات فهي اسهل من السهوله. و اذا اردت التحقق من وجود متغير الجلسه ام لا , فسوف تعرف ذلك؟ ولتذكيرك تستخدم الطريقه isset او صديقتها empty كما تعلمنا مسبقا كالتالي:

 الدرس الثامن والعشرون: الجلسات في PHP L28e5

الغاء متغير الجلسه و تدمير الجلسه

عند الانتهاء من استعمال متغير جلسه ما, يمكنك الغاء تسجيله بالطريقه التاليه :

 الدرس الثامن والعشرون: الجلسات في PHP L28e6

والان بعد ان قمنا بإلغاء هذا المتغير نريد ان نقوم بتدمير الجلسه كامله لكي نقوم بالتنظيف, ويمكن عملها كالتالي:


 الدرس الثامن والعشرون: الجلسات في PHP L28e7

مثال مبسط على الجلسات :

اعتقد انك تشعر بغرابه الان, هل هذه هي فقط الجلسات !! نعم عزيزي, هذه هي الجلسات ويمكن ان كلامي المبسط عنها لم يوضح الفكره, لنقم الان بعمل مثال يشرح لنا طريقة عمل الجلسات لكي توضح لك الصوره. سوف نقوم بإنشاء 3 صفحات وتتبع الجلسات بها. في الصفحه الاولى ( ses1.php ) سوف نقوم ببدأ الجلسه , وتسجيل متغير اسمه example لاحظ التالي :

 الدرس الثامن والعشرون: الجلسات في PHP L28e8

و سوف يكون نتيجة الصفحه الاولى هو التالي :

 الدرس الثامن والعشرون: الجلسات في PHP L28e9

لاحظ اننا بدأنا الجلسه ثم انشأنا المتغير , وعند انتهاء اسطرنا في البرنامج سوف تكون الجلسه في حالة تجميد الى ان نقوم ببدأ الجلسه في الصفحه التاليه. الان ننشئ صفحه جديده اسمها ( ses2.php ) وسوف يكون محتواها هو التالي :

 الدرس الثامن والعشرون: الجلسات في PHP L28e10

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

 الدرس الثامن والعشرون: الجلسات في PHP L28e11

في الصفحه الاخير نقوم بنفس العمل ولكن عند طباعة المتغير لن نجد اي قيمه لأننا قمنا بإلغاء المتغير في الصفحه رقم ( 2 ) اليس كذلك ؟ اذن الصفحه ( ses3.php ) سوف تحوي الكود التالي:

 الدرس الثامن والعشرون: الجلسات في PHP L28e12

عند عمل هذا الكود لن يقوم بطباعة محتوى المتغير لاننا الغيناه من قبل وسوف نقوم في الاخير بتدمير الجلسه كاملا, ولو حاولت ان تقوم بالدخول على الصفحه ( ses2.php ) من غير الدخول على الصفحه ( ses1.php ) فلن يوجد اي شيئ بالمتغير وهذا يؤكد لنا اننا نتابع المستخدم من صفحه الى اخرى.

 الدرس الثامن والعشرون: الجلسات في PHP L28e13

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


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

سؤال على الدرس :

1 - حاول ان تقوم بعمل نظام تسجيل يعتمد على الجلسات, فقط قم بمحاولات لكي تستعد للدرس القادم

الـــدرس الــقادم :

سوف نقوم في الدرس القادم بعمل مثال تطبيقي ( نظام تسجيل ) بإستخدام الجلسات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://fbrkaeg.yoo7.com
 
الدرس الثامن والعشرون: الجلسات في PHP
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
»  الدرس الثامن عشر: التحكم في برمجة الكائنات
»  الدرس الثامن: النماذج وانواع ارسال البيانات
»  الدرس الحادي والعشرون: التاريخ والوقت في PHP
» الدرس السابع والعشرون: متفرقات متقدمه في PHP
»  الدرس الثاني والعشرون: مقدمه عن قواعد البيانات

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات فبركة ايجى :: عالم كونكر اون لاين و Conquer Online Private Servers :: لغة السي شارب #C-
انتقل الى: