PHP – جلسات (Sessions)
جلسه چیست؟
یک جلسه (Session) راهی برای ذخیرهسازی اطلاعات (در متغیرها) است که در صفحات مختلف قابل استفاده است. برخلاف کوکیها، اطلاعات در کامپیوتر کاربر ذخیره نمیشود.
جلسه PHP چیست؟
هنگامی که با یک برنامه کار میکنید، آن را باز میکنید، تغییراتی انجام میدهید و سپس آن را میبندید. این بسیار شبیه به یک جلسه است. کامپیوتر میداند که شما چه کسی هستید و چه زمانی برنامه را شروع و تمام میکنید. اما در اینترنت، یک مشکل وجود دارد: سرور وب نمیداند که شما چه کسی هستید یا چه کارهایی انجام میدهید، زیرا آدرس HTTP وضعیت را حفظ نمیکند.
متغیرهای جلسه (Session Variables) این مشکل را با ذخیره اطلاعات کاربر برای استفاده در صفحات مختلف (مثلاً نام کاربری، رنگ مورد علاقه و غیره) حل میکنند. به طور پیشفرض، متغیرهای جلسه تا زمانی که کاربر مرورگر را ببندد، باقی میمانند.
بنابراین، متغیرهای جلسه اطلاعات مربوط به یک کاربر واحد را نگه میدارند و برای تمام صفحات یک برنامه در دسترس هستند.
نکته: اگر به ذخیرهسازی دائمی نیاز دارید، ممکن است بخواهید دادهها را در یک پایگاه داده ذخیره کنید.
شروع یک جلسه PHP
توجه: تابع session_start()
باید اولین چیزی باشد که در سند شما قرار دارد. قبل از هر تگ HTML.
دریافت مقادیر متغیرهای جلسه PHP
در مرحله بعد، یک صفحه دیگر به نام “demo_session2.php” ایجاد میکنیم. از این صفحه، اطلاعات جلسهای را که در صفحه اول (“demo_session1.php”) تنظیم کردیم، دسترسی خواهیم داشت.
توجه داشته باشید که متغیرهای جلسه به طور فردی به هر صفحه جدید ارسال نمیشوند، بلکه از جلسهای که در ابتدای هر صفحه باز میشود (با session_start()
)، بازیابی میشوند.
همچنین توجه کنید که تمام مقادیر متغیرهای جلسه در متغیر جهانی $_SESSION
ذخیره میشوند:
راه دیگری برای نمایش تمام مقادیر متغیرهای جلسه برای یک جلسه کاربری، اجرای کد زیر است:
چگونه کار میکند؟ چگونه میداند که من هستم؟
بیشتر جلسات یک کلید کاربری روی کامپیوتر کاربر تنظیم میکنند که چیزی شبیه به این است: 765487cf34ert8dede5a562e4f3a7e12
. سپس، هنگامی که یک جلسه در صفحه دیگری باز میشود، کلید کاربری را در کامپیوتر جستجو میکند. اگر تطابقی پیدا کند، به آن جلسه دسترسی پیدا میکند، در غیر این صورت، یک جلسه جدید شروع میکند.
تغییر مقدار متغیر جلسه PHP
برای تغییر یک متغیر جلسه، کافی است آن را دوباره تنظیم کنید:
حذف یک جلسه PHP
برای حذف تمام متغیرهای جلسه و نابود کردن جلسه، از session_unset()
و session_destroy()
استفاده کنید:
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام