الفصل الخامس 5: الجلسات (Sessions) وملفات تعريف الارتباط (Cookies) في PHP
الموضوع 5: الجلسات (Sessions) وملفات تعريف الارتباط (Cookies) في PHP
5.1 ما هي الجلسات (Sessions)؟
- تعريف الجلسات:
- الجلسات في PHP هي آلية تُستخدم لتخزين البيانات بين الصفحات. تُحفظ البيانات على الخادم (server) وليس على جهاز المستخدم، مما يجعلها أكثر أمانًا.
- تُستخدم الجلسات عادة لحفظ المعلومات عبر زيارات متعددة للمستخدم مثل تسجيل الدخول.
- كيفية عمل الجلسات:
- عندما يبدأ المستخدم في التفاعل مع الموقع، تُرسل PHP معرف الجلسة (session ID) إلى المتصفح.
- يقوم المتصفح بتخزين المعرف في ملف تعريف ارتباط (cookie).
- مع كل طلب جديد من المستخدم، يُرسل المتصفح هذا المعرف إلى الخادم ليتمكن من استرجاع البيانات المرتبطة بالجَلسة.
5.2 كيفية استخدام الجلسات في PHP
- بدء الجلسة:
- أول شيء يجب القيام به هو بدء الجلسة باستخدام الدالة
session_start()
في أعلى الصفحة. - مثال:
- أول شيء يجب القيام به هو بدء الجلسة باستخدام الدالة
- تخزين البيانات في الجلسة:
- يمكن تخزين البيانات في الجلسة باستخدام المتغيرات العالمية
$_SESSION
. - مثال:
- يمكن تخزين البيانات في الجلسة باستخدام المتغيرات العالمية
- استرجاع البيانات من الجلسة:
- لاسترجاع البيانات المخزنة في الجلسة، يمكن استخدام
$_SESSION
: - مثال:
- لاسترجاع البيانات المخزنة في الجلسة، يمكن استخدام
- حذف البيانات من الجلسة:
- يمكنك حذف بيانات معينة من الجلسة باستخدام
unset()
: - مثال:
- يمكنك حذف بيانات معينة من الجلسة باستخدام
- إغلاق الجلسة:
- لإغلاق الجلسة وإنهاءها، استخدم
session_destroy()
: - مثال:
- لإغلاق الجلسة وإنهاءها، استخدم
5.3 ما هي ملفات تعريف الارتباط (Cookies)؟
- تعريف ملفات تعريف الارتباط (Cookies):
- ملفات تعريف الارتباط هي ملفات نصية صغيرة يتم تخزينها على جهاز المستخدم بواسطة المتصفح.
- تُستخدم لتخزين معلومات مثل تفضيلات المستخدم، بيانات تسجيل الدخول، وغيرها من المعلومات التي يمكن أن تكون مفيدة في الزيارات اللاحقة للموقع.
- كيفية عمل ملفات تعريف الارتباط:
- عند زيارة المستخدم للموقع، يُرسل الخادم ملف تعريف الارتباط إلى المتصفح.
- يقوم المتصفح بتخزين ملف تعريف الارتباط ويُرسله مرة أخرى مع كل طلب جديد إلى نفس الموقع.
5.4 كيفية استخدام ملفات تعريف الارتباط في PHP
- إعداد ملفات تعريف الارتباط:
- لإنشاء ملف تعريف ارتباط، يمكنك استخدام الدالة
setcookie()
. - التركيب:
- المعاملات:
name
: اسم ملف تعريف الارتباط.value
: القيمة التي سيتم تخزينها.expire
: تاريخ انتهاء صلاحية ملف تعريف الارتباط (يُحدد بالثواني من الوقت الحالي).path
: المسار الذي يمكن أن يُقرأ فيه ملف تعريف الارتباط.domain
: النطاق الذي يمكن أن يُقرأ فيه ملف تعريف الارتباط.secure
: إذا كانت الاتصال عبر HTTPS.httponly
: إذا كان يجب أن يكون ملف تعريف الارتباط متاحًا فقط عبر HTTP (ليس JavaScript).
- لإنشاء ملف تعريف ارتباط، يمكنك استخدام الدالة
- مثال على إنشاء ملف تعريف ارتباط:
- إنشاء ملف تعريف ارتباط للمستخدم مع تاريخ انتهاء صلاحية 1 ساعة:
- استرجاع بيانات ملف تعريف الارتباط:
- لاسترجاع البيانات المخزنة في ملف تعريف الارتباط، يمكنك استخدام
$_COOKIE
. - مثال:
- لاسترجاع البيانات المخزنة في ملف تعريف الارتباط، يمكنك استخدام
- حذف ملفات تعريف الارتباط:
- لحذف ملف تعريف ارتباط، يمكنك تحديد وقت انتهائه إلى الماضي.
- مثال:
5.5 مقارنة بين الجلسات وملفات تعريف الارتباط
الميزة | الجلسات (Sessions) | ملفات تعريف الارتباط (Cookies) |
---|---|---|
الموقع | تُخزن البيانات على الخادم (Server). | تُخزن البيانات على جهاز المستخدم. |
الأمان | أكثر أمانًا حيث لا تُخزن البيانات على جهاز المستخدم. | أقل أمانًا حيث يمكن الوصول إلى البيانات من جهاز المستخدم. |
الحجم | لا توجد قيود على حجم البيانات المخزنة. | هناك حد لحجم البيانات المخزنة (حوالي 4 كيلوبايت). |
مدة الصلاحية | تبقى البيانات طالما أن الجلسة نشطة. | يمكن تحديد مدة الصلاحية. |
التحكم | يتم التحكم فيها من قبل الخادم. | يتم التحكم فيها من قبل العميل (المستخدم). |
5.6 الاستخدامات الشائعة للجلسات وملفات تعريف الارتباط
- الجلسات:
- تخزين بيانات المستخدم بعد تسجيل الدخول: الجلسات تُستخدم بشكل شائع لتخزين بيانات مثل اسم المستخدم أو حالة تسجيل الدخول.
- إدارة سلة التسوق في المتاجر الإلكترونية: يمكن استخدام الجلسات لتخزين المنتجات التي يضيفها المستخدم إلى سلة التسوق حتى يتمكن من مراجعتها أو إتمام عملية الشراء.
- ملفات تعريف الارتباط:
- تخزين تفضيلات المستخدم: مثل اللغة المفضلة أو السمة المرئية.
- تخزين معلومات تسجيل الدخول: حفظ تسجيل دخول المستخدم عبر عدة زيارات باستخدام “تذكرني”.
- تحليل سلوك المستخدم: ملفات تعريف الارتباط تُستخدم لجمع بيانات عن سلوك المستخدم لتقديم تجربة مخصصة.
5.7 ملخص الدورة
- ما تعلمته:
- كيفية استخدام الجلسات لتخزين البيانات بين الصفحات.
- كيفية استخدام ملفات تعريف الارتباط لتخزين البيانات على جهاز المستخدم.
- الفرق بين الجلسات وملفات تعريف الارتباط.
- كيفية إنشاء واسترجاع وحذف ملفات تعريف الارتباط.
- كيفية التعامل مع البيانات في الجلسات.
- التطبيق العملي:
- أنشئ نموذجًا يسمح للمستخدم بتسجيل الدخول باستخدام الجلسات.
- أنشئ موقعًا يستخدم ملفات تعريف الارتباط لتخزين تفضيلات المستخدم.