شبكة تعلم مع ناو

ما الفرق بين $_SESSION و$_COOKIE في PHP؟

  • $_SESSION: البيانات تُخزن على الخادم طوال جلسة المستخدم، والمتصفح يحمل فقط معرّف الجلسة.
  • $_COOKIE: البيانات مخزنة على جهاز المستخدم في المتصفح، وتصل مع كل طلب.
session_start();
$_SESSION['user_id'] = 42;          // stored on the server

setcookie('lang', 'ar', time() + 86400 * 30);
echo $_COOKIE['lang'] ?? 'ar';      // stored in the browser

متى أستخدم كلًّا منهما؟

  • الجلسة: بيانات حساسة أو مهمة، مثل هوية المستخدم المسجل. الزائر لا يستطيع تعديلها.
  • الكوكيز: تفضيلات بسيطة تبقى بعد إغلاق المتصفح، مثل اللغة.

الجلسة تنتهي عادةً بإغلاق المتصفح أو بعد مدة خمول، أما الكوكيز فلها تاريخ انتهاء تحدده أنت.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.