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


- مقدمة عن الـ Session :
عند الانتقال من صفحة الى أخرى في موقع معين فإن بروتوكول الـ HTTP لا يمكنه معرفة أن تلك الصفحات قد تم تصفحها من قبل نفس الشخص ، ولكن مع الـ s وما نحن بصدده هنا الـ Session تقدم تلك الطريقة ، ولذلك وببساطة فإن الـ Session هي مكان على جهاز المتصفح يمكن من خلاله تخزين قيمة معينة للرجوع اليها في حال قام نفس الشخص بالانتقال من صفحة الى أخرى ، ولعل هذا التعريف يصف ببساطة معناها العام ولا يعني ذلك أنه تعريف شامل لكل المعاني ..


إذاً التعرف على الشخص الذي يقوم بتصفح الموقع هو الهدف الرئيسي للـ Session أو الجلسـات ، ولكن كيف يتم ذلك ، وما هي النقاط الرئيسية التي يجب معرفتها لفهم طريقة التعامل مع الـ Session ؟


أول تلك النقاط أن عملية تسجيل المتغير على جهاز المستخدم له مدة معينة تنتهي بانتهاء الجلسة ، ومن هنا جاءت التسمية ، أما ما تعنيه الجلسة فهي مصطلح لقيامك بالتصفح من الموقع ومن ثم اغلاق الموقع ، ببساطة كل مرة تقوم بزيارة الموقع تبدأ جلسة أو Session جديدة ، مع ملاحظة أن هناك طرق للتحكم بوقت الانتهاء كما في الـ s ، بالاضافة الى طرق اخرى عن طريق قواعد البيانات وهو حديث سابق لاوانه .


بالنسبة للنقطة الأخرى التي يجب وضعها في الحسبان هي ما يسمى بالـ Session ID أو اختصـاراً SID ويعني ذلك ( رقم الجلسة ) ، وهو رقم عشوائي فريد يصعب تكراره أو فلنقل أنه مستحيل لاحتوائه على ارقام واحرف كبيرة وصغيرة في متغير طويل نسبياً ، وهذه القيمة هي الأهم في ما ذكرت ، لإنها القيمة الوحيدة التي تربط ما يسمى بالـ Session Variables أو ( متغيرات الجلسة ) مع جهاز المستخدم ، فالـ SID هي القيمة الوحيدة التي يتم تخزينها في جهاز المستخدم ( Client ) ، أما الـ متغيرات الجلسة Session Variables يتم تخزينها في السيرفر ( Server ) ، فعند التحقق منه وجود هذه القيمة على جهاز المستخدم يمكن الدخول الى المتغير الآخر المتربط به والمسمى بالـ Session Variable .


النقطة الثالثة هي طريقة التخزين للـ SID و الـ Session Variables ، أما الـ SID وكما قلنا أنها تخزن على جهاز العميل ( Client ) إما عن طريق الـ s والتي لها سلبياتها المتعددة أو عن طريق تمريرها عبر الـ HTTP ، أما بالنسبة للـ Session Variables فيتم تخزينها في ملفات فارغة على جهاز الـ Server وكذلك في مستويات متقدمة يمكن التحكم بها وتخزينها في قواعد بيانات .