PDA

View Full Version : از بین بردن سیشن ها



mohsen162
پنج شنبه 10 آذر 1390, 18:55 عصر
با سلام خذمت دوستان
من یک اسکریپ نوشتم و می خوام وقتی که کاربر صفحه خودشو بست اتوماتیک تمام سیشن unset بشه( در php منظورمه ) برای این کار این کدهارو نوشتم

<script type="text/javascript">
var logout = function() {
var xhr = new XMLHttpRequest;
xhr.open("GET", "logout.php", false);
xhr.send(null);
};

var winNumber=1;
window.onload = function() {
winNumber=winNumber+1;
};

window.onbeforeunload = function() {
winNumber=winNumber-1;

if (winNumber === 1) {
logout();
}
};
</script>
مشکلم اینجاست که با رفرش کردن صفحه هم سیشن ها از بین میره در صورتی که من می خوام فقط بعد از بسته شدن صفحه این اتفاق بیفته لطفا راهنمایی کنید به همین موضوع کل اسکریپم از کار افتاده خیلی خیلی ممنون میشم

narsic
جمعه 11 آذر 1390, 20:07 عصر
با سلام
اطلاعات جلسه بعد از بسته شدن مرورگر از بین میرن شما چه نیازی به انجام دستی این کار دارید ؟

mohsen162
شنبه 12 آذر 1390, 07:29 صبح
سلام دوست عزیز ببنید من وقتی یک کاربر وارد میشه یک سیشن رو true میکنم و زمان ورودشم در یک دیتابیس دخیره میکنم بعد هر صفحه که میخوام به اون فرد نشون بدم چک میکنم ببینم اون فرد وارد شده یعنی سیشنش ok هست اگر فرد بدون اینکه روی منوی خروج کلید کنه

session_destroy();
که نمیشه پس باید هر بار خروج پیدا میکنه سیشن از بین ببریم و همینطور که میدونید 99 درصد کاربران روی خروج کلید نمیکنن
و من نمیتونم زمان خروجشونو در دیتابیس ذخیره کنم

narsic
شنبه 12 آذر 1390, 22:01 عصر
با سلام
بله متاسفانه دسترسی استاندارد و کاملی برای بدست آوردن لحظه ترک کاربر نیست اما شما میتونید از ایجکس استفاده کنید و هر چند دقیقه یک بار چک کنید که کاربر هست در صورتی که درخواست حضور کاربر ارسال نشد کاربر رو خارج شده فرض کنید .
موفق باشید