اطلاع از ورود و خروج

این تاپیک 9 پاسخ و 3 مشارکت کننده دارد . آخرین آپدیت توسط :  کیوان علی محمدی ،‏ 3 سال و 3 ماه پیش .

این تاپیک تاکنون 827 بازدید داشته است .

نویسنده پست
پنجشنبه ، 15 آگوست 2013     11:38 ق.ظ #


iman_k26

Subscriber
9 پست8 تاپیک

با سلام

یه سوال داشتم از دوستان و اساتید محترم که آیا راهی هست که بتوان مشخصات و زمان ورود و خروج و در کل کارهایی که نویسندگان یک سایت انجام میدن برای Admin قابل دیدن باشه تا اگه مسئله ای پیش اومد بدونه کیا وارد سایت شدن و....

ممنون میشم راهنمایی بفرمایید

0  تشکر
پنجشنبه ، 15 آگوست 2013     12:44 ب.ظ #


کیوان علی محمدی

Authorplus
VIP
1792 پست4 تاپیک

سلام مطمئن نیستم که پلاگینی برای این کارا وجود داشته باشه،اما میشه کد نویسی هم انجام داد،مثلا میشه برای اکشن wp_login یه تابع نوشت که کاربری که داره لاگین میکنه دریافت کرد و اونو حالا توی دیتابیس یا توی فایل مشخصات و زمانش رو ثبت کرد. برای کارهای دیگه هم به راحتی میشه همین کارو کرد مثلا با اکشن publish_post یا publish_page هم میشه زمانی که یه مطلب یا برگه منتشر میشه،کاربر جاری رو دریافت و زمانش رو ثبت کرد،اکشن های دیگه های هم مثلا delete_post یا edit_post هم وجود داره،شما کلا هر کاری بخوای بکنی براش یه اکشنی وجود داره.

1  تشکر
پنجشنبه ، 15 آگوست 2013     12:46 ب.ظ #


iman_k26

Subscriber
9 پست8 تاپیک

آموزشی چیزی هست که بشه اینکارارو کرد؟

0  تشکر
پنجشنبه ، 15 آگوست 2013     1:00 ب.ظ #


کیوان علی محمدی

Authorplus
VIP
1792 پست4 تاپیک

آموزش که زیاده اگه برنامه نویسی بلدی کمی توی codex وردپرس بگردی به راحتی خودت میتونی کدشو بنویسی.

0  تشکر
پنجشنبه ، 15 آگوست 2013     8:25 ب.ظ #


فرشید رضائیان

Subscriber
22 پست12 تاپیک

به راحتی میتونید این کار رو انجام بدید ، توی دیتا بیس برای هر کاربر یک فیلد  به عنوان مثال loginTime تعریف کنید و یک فیلد logoutTime  هنگامی که کاربر لاگین میکنه و شما میایی یه سری پارامتری هایی رو چک میکنی  هنگامی که کاربر به درستی لاگین میکنه یک کوئری آپدیت مینویسید و تایم رو از سرور میگرید و در  فیلد لاگین ذخیره میکنید .  هنگام خروج هم به همین صورت ، برای تاریخ هم میتونید همین کار رو بکنید من با همین روند و کمی خلاقیت آدرس آی پی قبلی وارد شده به سیستم برای هر کاربر و مدیریت هم به دست آوردم و خیلی از این کار های دیگه 😉 موفق باشید

 

0  تشکر
پنجشنبه ، 15 آگوست 2013     8:28 ب.ظ #


فرشید رضائیان

Subscriber
22 پست12 تاپیک

البته موردی که خودم هم هنوز باهاش مشکل داره اینه که حتما کاربر باید دکمه خروج رو بزنه چون لاگین با سشن ها انجام میشه و سشن چک میشه  اگر بروزر بسته بشه این آبدیت انجام میشه .  همین مشکل رو هم توی نمایش افراد آنلاین دارم که با ابدیت فیلد از توی دیتا بیس کار میکنه اگه کاربری لاگ اوت نکنه وضعیتش همچنان آنلاین باقی میمونه چون دستور آپدیت رو توی شرط کلیک بر روی  دکمه خروج قرار دادم  و اگر در شرط خالی شدن سشن بذارم ؛ بعد از خالی شدن سشن کوئری میخواد اجرا بشه و چون اطلاعات هر کاربر مثل شناسه اون توی شسن ذخیره شده ، بعد از خاای شدن ، توی کوئری شناسه خالیه و عملیات اپدیت باز هم انجام نمیشه  :(

0  تشکر
پنجشنبه ، 15 آگوست 2013     9:10 ب.ظ #


کیوان علی محمدی

Authorplus
VIP
1792 پست4 تاپیک

خوب شما دقیقا قبل از تخلیه سشن کوئری آپدیت رو اجرا کن.

0  تشکر
پنجشنبه ، 15 آگوست 2013     9:21 ب.ظ #


فرشید رضائیان

Subscriber
22 پست12 تاپیک

خب اینجوری که کار نمیکنه ، من ابتدای هر صفحه با سشن چک میکنم که کاربر لاگین کرده یا نه ، اگر لاگین کرده دیگه نیاز نیست دوباره لاگین کنه چون موقع لاگین متغیر های مورد نیاز رو میریزم تو سشن اگر نکرده یا اعتبار سشن تموم شده باشه میره به صفحه لاگین ، حالا موقع خروج  با کلیک بر روی دکمه خروج میام سشن رو خالی میکنم و با یک هدر یا  جاوا اسکریپ کاربر رو هدایت میکنم به صفحه لاگین  . حالا موقع لاگین یک فیلد ، به عنوان مثال  توی دیتا بیس برای هر کاربر یک فیلد تعیین کردم به نام UserStatus موقعی که لاگین تایید میشه ، مقدار این به 1 آپدیت میشه و این کاربر رو توی لیست  افراد آنلاینم نمایش میده  و همچنین تعداد کاربر های آنلاین رو با استفاده از mysql_num_rows و تکیه به همین فیلد به دست میارم ، حالا  کوئری من طوری هستش که با سشن کار میکنه یعنی چی ؟

یعنی اینکه موقع ورود شناسه کاربر رو ذخیره میکنم توی سشن ، چون من که نمیدونم کدوم کاربر وارد میشه . موقع لاگین اونو به دست میارم میریزم تو سشن ، توی کوئری آپدیتم میگم برو آپدیت کن userStatus رو جایی که سناشه برابر  اون سشنی که حاوی شناسه هستش که موقع لاگین مقدار دهی میشه . موقع خروج هم همین طور چون سشن تا هنگام خروج خالی نمیشه و موقع خروج باز من که نمیدونم کی خارج شده از همین روش دوباره UserStatus رو آپدیت میکنم به 0 . وقتی روی خروج کلیک میشه  اول اپدیت انجام میشه ، و بعد سشن خالی میشه چون کوئری من با سشن کار میکنه و اگر قبل از آپدیت  سشن خالی بشه !! اونوقت کوئری من بره آپیدت کنه userstatus رو جایی که شناسه برابر چی هست ؟؟ !! شناسه من توی سشن ذخیره میشه . مشکل این سیستم  نمایش افراد آنلاین همینه که  حتما باید روی دکمه خروج کلیک بشه تا  وضعیت کاربر با مشکل رو به رو نشه و اختلال ایجاد نشه و اگر گاربری از سیستم لاگ اوت نکنه و مثلا پنجره مروگر رو ببنده همچنان وضعیتش انلاین ، که البته راه حل این مشکل با استفاده از کوکی پیدا کردم ، چون  میشه  تنظیم کرد که کوکی با بسته شدن مروگر هم خالی بشه 😉

 

0  تشکر
جمعه ، 16 آگوست 2013     9:29 ق.ظ #


کیوان علی محمدی

Authorplus
VIP
1792 پست4 تاپیک

البه از راه های دیگه هم میشه استفاده کرد مثلا یه درخواست ای جکس توی این تابع بنویسی و اونجا کد آپدیت رو بذاری به این شکل :

0  تشکر
جمعه ، 16 آگوست 2013     9:33 ق.ظ #


کیوان علی محمدی

Authorplus
VIP
1792 پست4 تاپیک

فقط یه نکته ای باید حتما اون ویژگی async رو false قرار بدی تا مرورگر صبر کنه درخواست ای جکس تموم بشه.

0  تشکر
پست 1 تا 10 (از مجموع 10 پست)

برای پاسخ دادن به این تاپیک باید وارد سایت شوید .