• 1 رای - 4 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کاربران آنلاین
#1
با سلام خدمت دوستان گرامی

من یک قسمت درست کردم که وقتی کاربری لاگین میکنه اطلاعات ورود وی در یک جدول توی دیتابیس ذخیره میشه و هر بار کاربر خروج از سیستم رو بزنه اطلاعات ورودش از جدول حذف میشه .
من در اینجا فقط یک مشکل دارم و اون هم اینه در صورتیکه کاربر خروج رو نزنه اطلاعات ورودش تو دیتا بیس باقی می مونه ... چه طور می تونم این مشکل رو حل کنم
نمیشه یک کاری کرد که وقتی کاربر مرورگرشو بست اطلاعات ورود این کاربر حذف بشه یا از طریق بازه زمانی این کار رو کرد Huh

خوشحال میشم اگه دوستان راهکاری رو به من نشون بدنBig Grin
  پاسخ
تشکر شده توسط : farhad.programmer
#2
با سلام

خوب شما میتونین یه بازه زمانی در نظر بگیرید که اگه 20 دقیقه رکورد آپدیت نشد سیستم بیاد کاربر رو آفلاین کنه،[/align]


و هر بار که کاربر صفحه رو عوض میکنه یا رفرش میکنه این Timestamp آپدیت بشه

با سپاس
  پاسخ
تشکر شده توسط : zoghal radin
#3
به نظرم اگر از database session store استفاده کنید هم کارتون راه می افته و هم خیلی کارای دیگه واسه تشخیص فعالیت لحظه ای کاربران می تونید انجام بدید
  پاسخ
تشکر شده توسط : farhad.programmer
#4
نقل قول:به نظرم اگر از database session store استفاده کنید هم کارتون راه می افته و هم خیلی کارای دیگه واسه تشخیص فعالیت لحظه ای کاربران می تونید انجام بدید

چي جوري مي تونم ازش استفاده كنم ؟ مي تونيد يك مثال بزنيد ؟! HuhSmile
  پاسخ
تشکر شده توسط : farhad.programmer
#5
(۱۳۸۸ بهمن ۲۵, ۰۵:۰۳ ب.ظ)radin نوشته:
نقل قول:به نظرم اگر از database session store استفاده کنید هم کارتون راه می افته و هم خیلی کارای دیگه واسه تشخیص فعالیت لحظه ای کاربران می تونید انجام بدید

چي جوري مي تونم ازش استفاده كنم ؟ مي تونيد يك مثال بزنيد ؟! HuhSmile
کد پی‌اچ‌پی:
$timestamp time() + 60 60;
$time time();

mysql_query("DELETE FROM `ads_banned` WHERE `a_timestamp` < '$time'") or die(mysql_error());


    if(!
mysql_num_rows(mysql_query("SELECT * FROM `ads_banned` WHERE `a_ip`='$ip' AND `a_timestamp` > '$time'"))) {

        
mysql_query("INSERT INTO `ads_banned` (a_timestamp,a_ip ) VALUES ('$timestamp', '$ip')") or die(mysql_error());

    } 
  پاسخ
تشکر شده توسط : radin
#6
با سلام خدمت آقا فرهاد Smile
ببخشيد اگه لطف كنيد يك كمي در رابطه با اين قطعه كدي كه نوشتيد توضيح بديد ممنون ميشم .
- اون دو متغييري كه در ابتدا تعريف كردين رو بايد هنگام لاگين مقدار دهي كنم يا ....؟
- دليل استفاده از اين كوئري ها ؟ ( البته بگم يه چيزايي دستگيرم شد )
در كل اگر يه توضيح مختصري بديد تا روال كار دستم بياد خيلي خوب ميشه Big Grin

ممنون Shy
  پاسخ
تشکر شده توسط :
#7
نقل قول: اون دو متغييري كه در ابتدا تعريف كردين رو بايد هنگام لاگين مقدار دهي كنم يا ....؟
هر زمان که نیاز بود استفاده کنید. برای توضیحات بیشتر به منوال مراجعه کنید
نقل قول:دليل استفاده از اين كوئري ها ؟ ( البته بگم يه چيزايي دستگيرم شد )
برای دخیره کردن اطلاعات در دیتابیس
نقل قول:در كل اگر يه توضيح مختصري بديد تا روال كار دستم بياد خيلي خوب ميشه
یک زمان رو به عنوان حد اکثر زمان لوگین در نظر گرفتیم
کد پی‌اچ‌پی:
$timestamp time() + 60 60
زمان کنونی رو هم بدست آوردیم
کد پی‌اچ‌پی:
$time time(); 
اون هایی رو که زمانشون از حداکثر زمان گذشته حذف می کنیم
کد پی‌اچ‌پی:
mysql_query("DELETE FROM `ads_banned` WHERE `a_timestamp` < '$time'") or die(mysql_error()); 
اگر کاربری با این IP در دیتابیس ذخیره نشده بود
کد پی‌اچ‌پی:
if(!mysql_num_rows(mysql_query("SELECT * FROM `ads_banned` WHERE `a_ip`='$ip' AND `a_timestamp` > '$time'"))) 
کاربر جدید در دیتابیس ذخیره می کنیم.
کد پی‌اچ‌پی:
mysql_query("INSERT INTO `ads_banned` (a_timestamp,a_ip ) VALUES ('$timestamp', '$ip')") or die(mysql_error()); 
کافیه شما تعداد رکورد هارو بدست بیارید. متوجه می شید چند نفر آنلاین هستند و چند نفر آفلاین
  پاسخ
تشکر شده توسط : farhad.programmer radin
#8
با سلام

محمد جان زحمتش رو کشیدند

با سپاس
  پاسخ
تشکر شده توسط :
#9
با تشکر از همه دوستان Smile
ممنونم که منو در حل مشکلم راهنمایی کردید . Wink
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان