در حال بارگذاری ... .
سشن یا session

Session

متغیرها این امکان را به شما می دهند تا مقداری را در آنها ذخیره کنید و در طول برنامه از آن ها استفاده کنید. اما محدودیتی که برای متغیرها وجود دارد این است که فقط در همان صفحه قابل شناسایی و استفاده هستند و اگر صفحه دیگری از همان سایت را بارگزاری کنید آن متغیر برای برنامه دیگر قابل شناسایی نخواهد بود.
برای مثال در یک سایت لاگین کرده اید اگر متغیر ها از نوع سشن نباشند با رفتن به صفحه‌ی جدید در همان سایت،  دوباره باید لاگین کنید اما اگر برای تعریف متغیر‌های شناسایی کاربر از سشن استفاده شده باشد سرور، شما را خواهد شناخت و دیگر با این مشگل مواجه نخواهید شد .

دسترسی در سر تا سر پروژه

بطور کلی سشن‌ها مکان ذخیره سازی متغیر‎‌هایی هستند که در سرتاسر پروژه قابل دسترس هستند که در طول برنامه و با هر بار بارگزاری صفحه ای دیگر از بین نمی روند مگر با بستن مرورگرکه البته به صورت پیش فرض با بستن مرورگر Sessionها از بین می روند که با درج دستوراتی می توانید آنها را نگه دارید.

چگونگی کارکرد

روند کار session ها به این صورت است که پس از ایجاد session یک شناسه یا ID به نام  Session ID به صورت رشته تصادفی و با الگویی امن ایجاد شده و آن را در سرور به صورت فایل و در کامپیوتر کاربر به صورت کوکی با نام PHPSESSID  ذخیره میکند و سپس با مراجعات بعدی کاربر توسط آن ID اقدام به پیدا کردن session آن روی سرور می کند.

شروع کار با سشن ها

برای شروع کار با سشن‌ها درphp از تابع session_start() استفاده میکنیم. قبل از این که خروجی دیگری از طریق برنامه ایجاد شده باشد.

همچنین زمانی که session_start() فراخوانی می شود ، یک سشن جدید ایجاد می کند یا اینکه سشن قبلی را ادامه می دهد. زمانی که یک سشن فعال باشد ، با استفاده از $_SESSION  می توانیم مقادیر را در آن ذخیره کنیم که بعدا از طریق هر اسکریپت PHP در سرور قابل دسترس خواهد بود. (استفاده و کار کردن با سشن ها تقریبا همانند استفاده از آرایه‌ها می‌باشد.)

 خروجی:

دسترسی به session ساخته شده در صفحات دیگر

حال فرض کنید قصد داریم به دو متغیر session ساخته شده در فایل myCars1.php در صفحه ای با نام myCars2.php دسترسی داشته باشیم؛ داریم:

خروجی کدهای بالا نیز همانند خروجی کد mycar1.php می‌باشد.

  • برای تغییر مقدار متغییر session  های از پیش ساخته شده کافیست که مقدار آن را دوباره تعیین کنید.

حذف و پاکسازی سشن

بهتر است زمانی که کار با سیشن ها تمام شد آن را پاک کنیم . برا حذف آن کافیست از تابع unset() استفاده کنیم.

از تابع unset  برای از بین بردن متغییر ها ، عناصر آرایه  و آبجکت ها استفاده می شود.

همچنین برای پاک کردن تمامی سشن‌ها میتوان از session_destroy() استفاده کرد.

تفاوت کوکی و سشن

در کنار سشن‌ها ما کوکی‌ها را داریم که  تفاوت Session و Cookie در آن است که سشن‌ها در سرور ذخیره می‌شوند ولی کوکی‌ها در دستگاه کاربر ذخیره خواهند شد. همچنین کوکی ها نسبت به session ها منابع کمتری از سرور را مصرف می کنند.
کوکی ها جهت استفاده می بایست توسط کاربر تایید شوند ولی در Session چینین چیزی وجود ندارد. معمولا از کوکی ها زمانی استفاده می شود که اطلاعات در امنیت چندان مهم نباشند و حجم داده های کمی را ذخیره کنند.

 

نکاتی پیرامون طراحی سایت

, , ,
اشتراک گذاری:

مایل به ثبت دیدگاه هستید؟

آخرین دیدگاه‌ها

آخرین دیدگاه‌ها