PDA

View Full Version : سوال: چگونگی بروز رسانی زمان آخرین بازدید کاربر از سایت



kavoshgar63
سه شنبه 12 خرداد 1388, 02:10 صبح
سلام

من می خوام هر وقت که کاربرم وارد سایت شد بهش بگم آخرین بازدیدش کی صورت گرفته
توی جدول اعضا برای هر کاربر فیلد در نظر گرفتم به نام آخرین بازدید کی باید این فیلد رو اپدیت کنم و چطوری؟
من اول وقتی کاربرم وارد سایت می شد زمان لاگین کردن زمان سیستم رو داخل آخرین بازدید میذاشتم ولی فهمیدم که اشتباهه چون زمان حال رو به کاربر نشون میدادم
حال شما چه توصیه ای دارید کی و کجا و چطور من زمان آخرین بازدید رو به کاربرم نشون بدم
کی و کجا و چطور آخرین بازدید کاربرم رو آپدیت کنم؟

sama01
سه شنبه 12 خرداد 1388, 05:02 صبح
خوب دوتا فیلد بگذار. یکی برای زمان ورود فعلی و دیگری برای ورود قبلی. به محض ورود کاربر، مقدار فیلد قدیمی را به فیلد جدید تغییر بده و بعد زمان حال رو بریز توی فیلد زمان ورود فعلی.
یه راهش اینه. فکر نمی‌کنم خیلی نیاز به فکر کردن داشته باشه.

amirepsilon
سه شنبه 12 خرداد 1388, 07:43 صبح
user_lastvisit = time();

sama01
سه شنبه 12 خرداد 1388, 09:43 صبح
خوب این که زمان الآن رو می‌ده.
دوستمون ظاهرا می‌خواهند آخرین زمان ورود کاربر پیش از این ورود را نمایش دهند.

kavoshgar63
سه شنبه 12 خرداد 1388, 15:44 عصر
فکر کنم که همون راه حل sama01 راحت تر باشه.
چون فهمش برام خیلی راحت بود وقتی کاربرم لاگین کرد زمان داخل lasttime رو برمیدارم و داخل temp میریزم و بعد زمان جاری رو داخل lasttime میریزم که زمان آخرین بازدید مشخص بشه برای لاگین های بعدی.
فکر می کنم درست گفتمن
اگر کسی راه حل استانداردتری داره لطفا بگه.

sama01
سه شنبه 12 خرداد 1388, 15:58 عصر
اگر کسی راه حل استانداردتری داره لطفا بگه.
بستگی به روش کارت داره. می‌تونی ابتدا مقدار تاریخ ذخیره شده در db را بخوانی و در مثلا سشن قرار بدی و بعد تاریخ جدید را اعمال کنی. این طوری کار کم‌تری در db باید انجام بشه که طبیعتا اگر سایتت حجیم باشه، تاثیر خوبی در بهبود سرعت خواهد داشت.
اگر اطلاعات کاربر را در زمان لاگین داخل سشن ذخیره می‌کنی، یکی از آیتم‌ها می‌تواند تاریخ قدیمی باشه.
ولی ممکنه کاربر به هر دلیلی، سشنش رو از دست بده.
روشی که اول گفتم مطمئن‌تره.

kavoshgar63
سه شنبه 12 خرداد 1388, 19:23 عصر
من تونستم این مساله رو حل کنم اما نمی دونم چرا ساعتی رو که میده با ساعت رسمی کشور مطابقت نداره
با این که من از این کد هم استفاده کردم.

date_default_timezone_set('Asia/Tehran');
echo pdate("l d F Y ",$lv)." ساعت ".pdate("H:i:s",$lv);
این ساعت رو نشون میده سه شنبه 12 خرداد 1388 ساعت 17:21:16
این هم ساعت سرور هست :سه شنبه 12 خرداد 1388 ساعت 13:15:22

sama01
سه شنبه 12 خرداد 1388, 19:59 عصر
دیگه این بر می‌گرده به توابعی که استفاده می‌کنید.
نمی‌دانم شاید pdate درست کار نکند.
date چی؟ آیا تاریخ و سایت این تابع هم نا‌درست است؟

kavoshgar63
سه شنبه 12 خرداد 1388, 20:06 عصر
یعنی احتمال داره که سرور من توی آمریکا ساعتش نامیزون باشه؟

sama01
چهارشنبه 13 خرداد 1388, 17:27 عصر
یعنی احتمال داره که سرور من توی آمریکا ساعتش نامیزون باشه؟
اگر این جمله درست باشه که واقعا خنده داره. ولی احتمالش هست. چون اختلاف زمانی شما با ساعت درست، نه ضریبی از یک ساعته و نه نیم ساعت.
پس دو حالت داره:
- یا تابعی که استفاده می‌کنید مشکل داره. (چون تابع استاندارد php نیست این رو می‌گم)
- یا ساعت سرور مشکل داره.

kavoshgar63
چهارشنبه 13 خرداد 1388, 18:57 عصر
من فایل تابع جلالی رو دانلود کردم
حال چطور بهش تاریخ بدم و تاریخ شمسی ازش بگیرم؟

sama01
چهارشنبه 13 خرداد 1388, 20:36 عصر
دوست عزیز فکر نمی‌کنید یک مقدار از بحث اصلی که دنبالش بودید دور شدید؟
در مورد این تابع، زیاد مطلب وجود داره.
در ضمن من احتمال خیلی زیاد می‌دم که مشکل از ساعت سرور باشه.