الدرس الثالث عشر: التعامل مع الجلسات (Sessions) في PHP
في الدرس ده، هنتعلم عن الجلسات (Sessions) في PHP، وهي وسيلة لحفظ البيانات الخاصة بالمستخدم خلال فترة استخدامه للتطبيق. الجلسات بتساعدنا نحتفظ بمعلومات زي حالة تسجيل الدخول والبيانات المؤقتة.
ما هي الجلسات؟
الجلسة هي وسيلة لتخزين المعلومات عن المستخدم عبر صفحات متعددة. يعني، لما المستخدم يدخل موقعك، ممكن تحتفظ بمعلومات عنه، وتستخدمها في الصفحات التانية.
بدء الجلسة
عشان تستخدم الجلسات في PHP، لازم تبدأ الجلسة باستخدام الدالة session_start()
في بداية كل صفحة.
مثال: بدء جلسة جديدة
session_start(); // بدء الجلسة // تخزين معلومات المستخدم $_SESSION['username'] = 'أحمد';
تخزين واسترجاع البيانات من الجلسة
بعد ما تبدأ الجلسة، تقدر تخزن بيانات فيها وتسترجعها من أي صفحة تانية.
مثال: تخزين واسترجاع البيانات
session_start(); // بدء الجلسة // تخزين معلومات في الجلسة $_SESSION['role'] = 'admin'; // استرجاع المعلومات echo "دور المستخدم: " . $_SESSION['role']; // هيطبع "دور المستخدم: admin"
إنهاء الجلسة
لو عايز تنهي الجلسة وتلغي كل البيانات المخزنة فيها، تقدر تستخدم الدالة session_destroy()
.
مثال: إنهاء الجلسة
session_start(); // بدء الجلسة session_destroy(); // إنهاء الجلسة
الملخص
- الجلسات بتساعدنا نحفظ معلومات المستخدم خلال فترة استخدامه للتطبيق.
- استخدمنا الدالة
session_start()
لبدء الجلسة،$_SESSION
لتخزين البيانات، وsession_destroy()
لإنهاء الجلسة.
في الدرس الجاي، هنتناول موضوع الأمان في PHP (Security in PHP)، وازاي نقدر نحمي تطبيقاتنا من المخاطر والثغرات.
ما هي الجلسة في PHP؟
الجلسة في PHP هي طريقة لتخزين المعلومات عن المستخدم عبر طلبات متعددة. تُستخدم لتتبع حالة المستخدم على مدار الزيارة.
كيف تبدأ جلسة جديدة في PHP؟
يمكنك بدء جلسة جديدة باستخدام الدالة session_start()
. يجب استدعاء هذه الدالة في بداية كل صفحة حيث تحتاج إلى استخدام الجلسات.
كيف تخزن البيانات في الجلسة؟
لتخزين البيانات في الجلسة، يمكنك استخدام المصفوفة superglobal $_SESSION
. على سبيل المثال: $_SESSION['username'] = 'your_username';
كيف تسترجع البيانات المخزنة في الجلسة؟
يمكنك استرجاع البيانات المخزنة في الجلسة عن طريق الوصول إلى المصفوفة $_SESSION
بنفس الطريقة: $username = $_SESSION['username'];
كيف تنهي الجلسة في PHP؟
يمكنك إنهاء الجلسة باستخدام الدالة session_destroy()
. تأكد من استدعاء session_start()
قبلها.