فاطمه جعفریان
2 سال پیش توسط فاطمه جعفریان مطرح شد
7 پاسخ

نمایش تغییرات انجام شده روی دیتابیس

سلام دوستان.
میخوام توی php تمام تغییراتی رو که ادمین یا افرادی که دسترسی به پنل سایت دارن ،رو به صورت لاگ نمایش بدم.
اینکه چه کسی، چه زمانی، چه کاری رو انجام داد.


ثبت پرسش جدید
فخرالدین لنگی
تخصص : برنامه نویس وب، آندروید و سیست...
@fakhraddin 2 سال پیش آپدیت شد
1

@fatemeh.jafarian96
دوست گرامی منظور بنده چنین سناریو نیست من با یک مثال توضیح می دم
صورت مساله: فرض کنید شما یک دیتابیس دارید شامل دو جدول کاربران و پست ها حالا می خوایید چک کنید فلان کاربر کدوم یک از عملیات ثبت، ویرایش، مشاهده و حذف رو انجام می ده

  1. ابتدا یک جدول جدید به اسم مثلا فعالیت ها ثبت می کنید شامل شناسه، نوع، پیغام، تاریخ و شناسه کاربر
  2. حالا می یام یک تریت یا ایونت می نویسم به ایونت فعالیت که شامل سه پارامتر ورودی نوع، پیغام و شناسه کاربر که هر وقتی این ایونت فراخونده می شه یک سطر به جدول فعالیت ها اضافه می کنه به عنوان نمونه هر وقت کاربری روی دکمه یا لینک مشاهده پست کلیک کرد شما ایونت رو فرامی خونید و سه پارامتر شامل مشاهده پست (نوع)، کاربر با اسم فلان در حال مشاهده مقاله با شناسه فلان می باشد (پیغام) و در نهایت شناسه کاربر با این اقدام یک سطر توی جدول فعالیت ها ایجاد می شه که با مرورش متوجه می شید که فلان کاربر چه اقداماتی رو انجام داده حالا با فیلتر نوع یا شناسه کاربر یا هر دو
    این یک مثال خیلی ساده برای لاگ گرفتن از فعالیت ها روی بخش پست
    نکته: دلیل اینکه دارم می گم با ایونت ها انجام بدید تا بتونید فعالیت رو صف بندی کنید و اپتون منتظر جواب ایونت نمونه تا سیستمتون کند بشه

فخرالدین لنگی
تخصص : برنامه نویس وب، آندروید و سیست...
@fakhraddin 2 سال پیش مطرح شد
0

@fatemeh.jafarian96
با سلام برای این هدف شما دو راه دارید

  1. استفاده از فایل که شما می تونید فعالیت های کاربر اونجا اضافه کنید و چون بحث سرچ و فیلتر این داده ها وجود داره بهتره فرمت فایلتون به صورت xml باشه اما این روش که عیب بزرگ داره قابلیت فیلتر و سفارشی سازی محدودی داره و توی داده های بزرگ ممکنه بسته به سرورتون سرریز بافر کنه
  2. با استفاده از دیتابیس که شما یک جدول شامل ستو های نوع فعالیت ، تاریخ، نام یا شناسه کاربر و ... ایجاد کنید و با هر بار اکشنی شما یک یک ایونت بنویسید که داده ها رو توی این جدول درج کنه و بعدا به راحتی بتونید فیلتر و جستجو پیشرفته داشته باشید

فاطمه جعفریان
تخصص : توسعه وب
@fatemeh.jafarian96 2 سال پیش آپدیت شد
0

fakhraddin@
متشکر از پاسختون.
من توی دیتابیسم توی همه جدول ها created_at و updated_at رو دارم.
اینکه کی داره کار رو انجام میده رو هم با استفاده از session ها دارم.
چه زمانی رو هم بسته به کاری که داره انجام میشه، از created_at و updated_at استفاده میکنم.
ولی چه کاری رو نمیدونم دقیق چجوری باید بدستش بیارم.


Banana Life
@shift.delete 2 سال پیش مطرح شد
0

برای پیدا کردن چه کاری را؛ شما تمام اکشن و فعالیت ها را باید جداگانه با session تعریف کنید.
سعی کنید روش بهتری را پیدا کنید چون کد تان شلوغ میشه. شاید برای مشکل تان روش بهتری هم وجود داشته باشه.


فخرالدین لنگی
تخصص : برنامه نویس وب، آندروید و سیست...
@fakhraddin 2 سال پیش آپدیت شد
1

@fatemeh.jafarian96
دوست گرامی منظور بنده چنین سناریو نیست من با یک مثال توضیح می دم
صورت مساله: فرض کنید شما یک دیتابیس دارید شامل دو جدول کاربران و پست ها حالا می خوایید چک کنید فلان کاربر کدوم یک از عملیات ثبت، ویرایش، مشاهده و حذف رو انجام می ده

  1. ابتدا یک جدول جدید به اسم مثلا فعالیت ها ثبت می کنید شامل شناسه، نوع، پیغام، تاریخ و شناسه کاربر
  2. حالا می یام یک تریت یا ایونت می نویسم به ایونت فعالیت که شامل سه پارامتر ورودی نوع، پیغام و شناسه کاربر که هر وقتی این ایونت فراخونده می شه یک سطر به جدول فعالیت ها اضافه می کنه به عنوان نمونه هر وقت کاربری روی دکمه یا لینک مشاهده پست کلیک کرد شما ایونت رو فرامی خونید و سه پارامتر شامل مشاهده پست (نوع)، کاربر با اسم فلان در حال مشاهده مقاله با شناسه فلان می باشد (پیغام) و در نهایت شناسه کاربر با این اقدام یک سطر توی جدول فعالیت ها ایجاد می شه که با مرورش متوجه می شید که فلان کاربر چه اقداماتی رو انجام داده حالا با فیلتر نوع یا شناسه کاربر یا هر دو
    این یک مثال خیلی ساده برای لاگ گرفتن از فعالیت ها روی بخش پست
    نکته: دلیل اینکه دارم می گم با ایونت ها انجام بدید تا بتونید فعالیت رو صف بندی کنید و اپتون منتظر جواب ایونت نمونه تا سیستمتون کند بشه

فاطمه جعفریان
تخصص : توسعه وب
@fatemeh.jafarian96 2 سال پیش مطرح شد
فاطمه جعفریان
تخصص : توسعه وب
@fatemeh.jafarian96 2 سال پیش مطرح شد
0

@shift.delete
متشکرم از راهنماییتون 🙌


فخرالدین لنگی
تخصص : برنامه نویس وب، آندروید و سیست...
@fakhraddin 2 سال پیش مطرح شد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام