آموزش کار با Session در زبان PHP :
یک Session راهی برای نگهداری اطلاعات درون متغیر یا variable است که بتوان آن را در صفحات مختلف سایت استفاده کرد.
برخلاف کوکی یا Cookie، اطلاعات Session بر روی مرورگر کاربر و کامپیوتر وی ذخیره نشده و بر روی سرور سایت نگهداری می شوند.
مفهوم Session در PHP چیست؟
هنگامی که با یک نرم افزار یا application کار می کنید، آن را باز کرده، تغییراتی در آن اعمال نموده، در نهایت آن را می بندید. این عملکرد بسیار شبیه session است. در نرم افزار های تحت ویندوز، کامپیوتر می داند شما چه کسی هستید. کامپیوتر از شروع باز کردن برنامه تا پایان کارتان، درک کاملی از هویت شما دارد. اما بر روی اینترنت یک مشکل بزرگ وجود داشته و آن این است که سرور وب نمی داند شما چه کسی بوده و چه کاری دارید انجام می دهید، زیرا آدرس و پروتکل های HTTP بی ثبات و ناپایدار بوده و وضعیت شما را نگهداری نمی کنند.
متغیرهای Session با نگهداری اطلاعات کاربر در فضاهای مشخص مشکل فوق را حل کرده و این اطلاعات را در تمامی صفحات مورد استفاده کاربر در اختیار وب سرور قرار می دهند (اطلاعاتی مثل نام کاربری، رنگ مورد علاقه و …).
بنابراین متغیرهای Session اطلاعات مربوط به یک کاربر خاص را نگهداری کرده و آن را در اختیار تمامی صفحات مورد استفاده وی قرار می دهند.
اگر می خواهید اطلاعاتی را به صورت دایمی نگهداری کنید، بایستی آن ها را در پایگاه داده قرار دهید.
نکته مهم:
توجه داشته باشید که تابع session_start() بایستی در بالای صفحه و قبل از هر تگ HTML ای تعریف شود.
راهنمایی :
Session چطوری کار می کند و از کجا می داند من کی هستم؟
بسیاری از Sessionih ها یک کد مخصوص کاربر یا (user-key) را بر روی کامپیوتر وی تنظیم کرده که مشابه چیزی مثل +کد است. پس وقتی یک Session بر روی صفحه ای دیگر باز می شود، کامپیوتر را برای یافتن user-key اسکن می کند. اگر کلید مشابهی پیدا کند به آن دسترسی پیدا کرده و از روی آن می فهمد کاربر کیست و تنظیمات مورد نظر وی را ارایه می دهد . اما اگر کلید مشابهی پیدا کند، یک Session جدید را بر روی سیستم شروع می کند.