PDA

View Full Version : سوال: تاریخ انقضا دادن به سیشن ها



ahmadbadpey
پنج شنبه 20 فروردین 1388, 09:59 صبح
با سلام
من برای نمایش اعضای آنلاین سایتم نیاز به دادن تاریخ انقضا به سیشن ها دارم و می دونم که باید از تابع session_cach_limiter برای این کار استفاده کنم . اما مشکلی که دارم اینه که آیا باید این تابع رو در تمامی صفحاتی که از سیشن استفاده می کنند ، به کار ببرم یا نه ؟ البته فکر کنم از طریق فایل php.ini هم میشه این کار رو انجام داد . اما وقتی مقدار این تابع رو که به صورت پیش فرض 180 بود به 1 تغییر دادم ، سیشن ها بعد از 1 دقیقه به صورت اتوماتیک پاک نشدند .
اگه کسی اطلاعاتی در این مورد دارد لطفا ارائه کنه . با تشکر

امیـرحسین
پنج شنبه 20 فروردین 1388, 17:27 عصر
تا جاییکه من میدونم کوکی یکبار توسط تابع setcookie (http://ir.php.net/manual/en/function.setcookie.php) تعیین میشه.
پارامتر سوم این تابع زمان expire شدن sessionها رو مشخص می کنه و کوکی ها یکبار ساخته میشن و تا زمان انقضاشون وجود دارند یعنی لازم نیست تو همه صفحه ها ایجاد بشن. اگر قرار باشه تو هر صفحه تعیین بشن دیگه با متغیر معمولی چه فرقی داره؟

amirkh
پنج شنبه 20 فروردین 1388, 21:05 عصر
تا جاییکه من میدونم کوکی یکبار توسط تابع setcookie (http://ir.php.net/manual/en/function.setcookie.php) تعیین میشه.
این آقا میگه session ، شما می گی کوکی ؟!!!
چرا واسه نمایش اعضای آنلاین و آمار ، از دیتابیس استفاده نمی کنید ؟
سشن آی دی هر کاربر رو توو دیتابیس ثبت کنید به همراه یه فیلدی به نام time ، هر بار هم ببینید که زمان ثبت سشن آی دی واسه کی هست ؟ مثلا اگه 3 دقیقه شد پاک بشن .

ahmadbadpey
پنج شنبه 20 فروردین 1388, 21:20 عصر
این آقا میگه session ، شما می گی کوکی ؟!!!
چرا واسه نمایش اعضای آنلاین و آمار ، از دیتابیس استفاده نمی کنید ؟
سشن آی دی هر کاربر رو توو دیتابیس ثبت کنید به همراه یه فیلدی به نام time ، هر بار هم ببینید که زمان ثبت سشن آی دی واسه کی هست ؟ مثلا اگه 3 دقیقه شد پاک بشن .
با تشکر
من با مطالعه اینجا (http://barnamenevis.org/forum/showthread.php?t=128494)
و چند جای دیگه به این نتیجه رسیدم که باید از روشی که در بالا گفتم استفاده کنم .به هر حال فرض کنیم که من این کار رو بکنم و بعد مثلا 3 دقیقه پاک بشن اما ممکنه هنوز سیشنس وجود داشته باشه در حالی که ما اونو از لیست اعضای آنلاین پاک کردیم .

امیـرحسین
پنج شنبه 20 فروردین 1388, 21:25 عصر
amirkh@ : بله. حق با شماست. من تصورم کوکی های توسط session بود....

I,Nobody
جمعه 21 فروردین 1388, 11:16 صبح
دوست عزیز شما باید از session_cache_expire استفاده کنید

ahmadbadpey
جمعه 21 فروردین 1388, 11:26 صبح
دوست عزیز شما باید از session_cache_expire استفاده کنید

چه جوری لطفا بیشتر توضیح بدین

I,Nobody
جمعه 21 فروردین 1388, 18:04 عصر
http://ir.php.net/manual/en/function.session-cache-expire.php