به پایان رساندن session بعد از زمان معلوم

با سلامی به سردی بستنی خدمت شما عزیزان.

این مبحث هم از عنوانش تابلو هست و دیگه نمی نویسم اسمشو ، خب شروع کنیم :

خب میخواییم تو این آموزش session رو بعد از زمان معلومی که میخواییم نابود کنیم ، تو این مثال ما فرض میکنیم اگه کاربر برای ۳۰ دقیقه هیچ فعالیتی نداشته باشد session رو نابود کنیم.

متاسفانه در php باید این کار رو دستی و با کدنویسی انجام داد ، به هرحال به کد زیر یه نگاهی بندازین :

خب شروع کنیم به توضیح :

ما جلسه یا همون session رو با تابع session_start() شروع کردیم ، به یاد داشته باشین اگه این تابع رو صدا نزنین نمیتونین به متغیرهای جلسه ای دسترسی پیدا کنید !

ما تو این آموزش مدت انقضای session رو ($expireAfter = 30;) برابر با ۳۰ دقیقه قرار دادیم شما می تونید هرمقداری که دوست دارین بزارین حتی سخت گیری کنید بزارید ۱ دقیقه (این شوخی بود بعدا یقمو نگیرین ).

با isset چک کردیم تا ببینیم که متغیر جلسه ای last_action مقدار دهی شده یا نه ؟

داخل دستور شرطی ما زمانی رو که از آخرین فعال بودن کاربر گذاشته حساب کردیم بعد با last_action تفریق کردیم تا ببینیم از ۳۰ دقیقه گذشته یا نه ؟ اگه گذشته گفتیم با توابع session_destroy() جلسه رو نابود کنه.

در آخر هم متغیر last_action رو با زمان جاری مقدار دهی کردیم تا از آخرین وضعیت فعال بودن کاربر باخبر بشیم

خب شما شاید تعجب کنید که چرا از session.gc_maxlifetim استفاده نکردیم ، واقعیتش اینه درست حسابی کار نمیکنه و امتحانش نمی ارزه به هرحال امیدوارم استفاده برده باشین یا علی

دیدگاه‌تان را بنویسید:

3 × 1 =