← الرئيسية

🍪 Sessions & Cookies

الدرس الثامن — حفظ بيانات المستخدم بين الصفحات

📖 Sessions vs Cookies

الـ HTTP بروتوكول بدون ذاكرة — كل طلب جديد ما يعرف شي عن الطلب السابق.

الميزةSessionCookie
مكان التخزينالسيرفرالمتصفح
الأمان✅ آمن أكثر⚠️ أقل أماناً
مدة الحفظحتى يقفل المتصفحتحدد مدة الانتهاء
مثالتسجيل الدخولتذكرني / تفضيلات

🧪 محاكي Sessions & Cookies

محاكاة تسجيل دخول باستخدام Session:

🖥️ السيرفر (Session)

لا توجد جلسة نشطة

Session ID
🌐 المتصفح (Cookie)

PHPSESSID: غير موجود

اضغط "تسجيل دخول" للبدء
🖥️ Session (السيرفر)
$_SESSION['user_id']
42
$_SESSION['username']
"أحمد"
✅ البيانات آمنة على السيرفر
Session ID فقط
🌐 المتصفح
PHPSESSID
abc123xyz
theme
"dark"
⚠️ المستخدم يشوف الكوكيز

💻 كود Sessions & Cookies

// ===== SESSIONS ===== session_start(); // لازم أول سطر! // حفظ بيانات $_SESSION["user_id"] = 42; $_SESSION["username"] = "أحمد"; // قراءة بيانات echo "مرحباً " . $_SESSION["username"]; // حذف session unset($_SESSION["username"]); session_destroy(); // حذف الكل // ===== COOKIES ===== // حفظ cookie (لمدة 7 أيام) setcookie("theme", "dark", time() + (7 * 24 * 60 * 60)); // قراءة cookie $theme = $_COOKIE["theme"] ?? "light"; echo "الثيم: $theme"; // حذف cookie setcookie("theme", "", time() - 3600);

🧪 جرّب بنفسك

النتيجة ستظهر هنا...

⚠️ أخطاء شائعة

الخطأالسببالحل
session_start() بعد echoHeaders already sentsession_start() أول سطر
حفظ بيانات حساسة في Cookieالمستخدم يعدلهااستخدم Session دائماً
نسيان session_start() في صفحة ثانيةما يلقى الجلسةضعه في كل صفحة