/
  • چگونه بفهمیم که یک کاربر افلاین شد؟

  • صفحه‌ها (2):
  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی چگونه بفهمیم که یک کاربر افلاین شد؟
    نویسنده پیام
    Patriotic آفلاین
    عضو جدید
    **

    ارسال‌ها: 2
    تاریخ عضویت: ۱۳۹۱ تير ۲۷
    اعتبار: 0
    تشکرها : 0
    ( 1 تشکر در 1 ارسال )
    ارسال: #1
    چگونه بفهمیم که یک کاربر افلاین شد؟
    سلام دوستان....
    من یک اسکریپت طراحی کردم...تو قسمت انلاین نشون دادن کاربرد که مشکلی نیست( اطلاعاتشو تو تیبل انلاین یوزر ذخیره میکنم) اما چطوری بفهمم که کاربرم از سایتم خارج شده و اونو از تیبل انلاین یوزر حذف کنم؟ یعنی چطوری بفهم سشنش از بین رفته و صفحه بسته شده!
    ۱۳۹۱ مهر ۹ ۱۰:۳۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : Muhammad-Ali
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,038
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2712
    ( 2703 تشکر در 1685 ارسال )
    ارسال: #2
    RE: چگونه بفهمیم که یک کاربر افلاین شد؟
    شما چه جوری آنلاین ها رو مشخص میکنی؟ همنجوری آفلاین ها رو هم مشخص کن .
    در حقیقت یه بازه بذار ، اگر کاربر بعد از 5 دقیقه هیچ اکشنی رو اجرا نکنه ، آفلاین شده
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۱ مهر ۹ ۱۰:۴۴ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : ali786
    Patriotic آفلاین
    عضو جدید
    **

    ارسال‌ها: 2
    تاریخ عضویت: ۱۳۹۱ تير ۲۷
    اعتبار: 0
    تشکرها : 0
    ( 1 تشکر در 1 ارسال )
    ارسال: #3
    RE: چگونه بفهمیم که یک کاربر افلاین شد؟
    الان مشکل منم تو همین بازه گذاشتن و چک کردن اونه! اگه امکانش هست یک مثال ساده بزنید!
    ۱۳۹۱ مهر ۹ ۱۰:۵۵ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,038
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2712
    ( 2703 تشکر در 1685 ارسال )
    ارسال: #4
    RE: چگونه بفهمیم که یک کاربر افلاین شد؟
    از سسشن استفاده کنید .
    هر بار که کاربر صفحه ای رو باز کرد ، توی سسشن timestamp بریزید .
    ریاضی هم که بلدید انشااللهBlush
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۱ مهر ۱۰ ۱۲:۲۸ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : ali786 hamid_80386 Muhammad-Ali
    qaflanti آفلاین
    حسین پوربهرامی
    **

    ارسال‌ها: 43
    تاریخ عضویت: ۱۳۹۱ مرداد ۱۱
    اعتبار: 0
    تشکرها : 27
    ( 9 تشکر در 6 ارسال )
    ارسال: #5
    RE: چگونه بفهمیم که یک کاربر افلاین شد؟
    شما لازم نیست یه جدول دیگه واسه اعضای آنلاین ایجاد کنی!
    شما تو همون جدولی اطلاعات اعضا رو داری یه ستون اضافه کن به اسم مثلا آخرین فعالیت.
    بعد هر بار که کاربرت یه فعالیتی تو سایت کرد اون ستون رو با تایم استمپ آپدیت کن.
    (حالا این فعالیت می تونه تو ساده ترین حالت می تونه صفحه عوض کردن باشه؛ تو حالات پیشرفته تر هم می تونی با ای جکس از هر چند دقیقه چک کنی ببینی همون کاربر تو سایت هست یا نه)
    بعد تو لیست اعضای آنلاین از جدول اعضا یه کوئری بگیر هر جا که آخرین فعالیت مثلا به قول این دوستمون واسه 5 دقیقه آخر باشه.
    اینجوری اگه طرف تا 5 دقیقه هیچ فعالیتی نکنه دیگه اسمش تو لیست اعضای آنلاین نمیاد و آفلاین محسوب میشه.
    (آخرین ویرایش در این ارسال: ۱۳۹۱ مهر ۱۱ ۰۷:۴۱ عصر، توسط qaflanti.)
    ۱۳۹۱ مهر ۱۱ ۰۷:۴۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : hamid_80386 ali786 Muhammad-Ali
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,038
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2712
    ( 2703 تشکر در 1685 ارسال )
    ارسال: #6
    RE: چگونه بفهمیم که یک کاربر افلاین شد؟
    کوئری چرا حروم میکنی ؟
    سشن بزن Dodgy
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۱ مهر ۱۱ ۱۱:۰۷ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    hamid_80386 آفلاین
    حمید عباسی
    ***

    ارسال‌ها: 1,510
    تاریخ عضویت: ۱۳۹۰ بهمن ۱۶
    اعتبار: 62
    تشکرها : 1216
    ( 1253 تشکر در 748 ارسال )
    ارسال: #7
    RE: چگونه بفهمیم که یک کاربر افلاین شد؟
    (۱۳۹۱ مهر ۱۱ ۱۱:۰۷ عصر)Reza نوشته شده توسط:  کوئری چرا حروم میکنی ؟
    سشن بزن Dodgy

    رضا منم ترکیب دیتابیس و سشن استفاده میکنم

    منظورت از سشن خالی چیه؟
    __________________________________________________________________________
    هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
    ۱۳۹۱ مهر ۱۲ ۱۲:۴۰ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,038
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2712
    ( 2703 تشکر در 1685 ارسال )
    ارسال: #8
    RE: چگونه بفهمیم که یک کاربر افلاین شد؟
    بابا شما برای اینکه تایم استمپ آخرین فعالیت کاربر رو ذخیره کنید میاید هر بار کوئری میدی به دیتابیس که فلان رکورد از تیبل یوزر رو آپدیت کن .
    من میگم هر بار تو سسشن بریزید .
    بعد هر 5 دقیقه یکبار ، یه کوئری بدید بریزید توی دیتابیس و خلاص !

    برای آفلاین و آنلاین هم کلاً از سسشن استفاده کنید .

    کد میخواد بنویسم؟
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۱ مهر ۱۲ ۰۱:۰۱ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : Muhammad-Ali
    hamid_80386 آفلاین
    حمید عباسی
    ***

    ارسال‌ها: 1,510
    تاریخ عضویت: ۱۳۹۰ بهمن ۱۶
    اعتبار: 62
    تشکرها : 1216
    ( 1253 تشکر در 748 ارسال )
    ارسال: #9
    RE: چگونه بفهمیم که یک کاربر افلاین شد؟
    ببین رضا جون گیج بازی های من شروع شد

    وقتی کاربر میای توی سشن username اسم رضا رو میریزه و تو سشن تایم زمان جاری رو

    من مدیر که خودم به نوعی کاربر دیگه هستم چطور بیام اول: چه کاربر هایی الان واس خودشون سشن درست کردن

    بعدم چطوری به سشن های دیگر کاربران دسترسی داشته باشم؟
    __________________________________________________________________________
    هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
    ۱۳۹۱ مهر ۱۲ ۰۱:۳۸ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,038
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2712
    ( 2703 تشکر در 1685 ارسال )
    ارسال: #10
    RE: چگونه بفهمیم که یک کاربر افلاین شد؟
    وقتی کاربر لاگین میکنه
    کد PHP:
    //وقتی کاربر داره لاگین میکنه
    $time time() ;
    $sql "update user set last_activity=$time";
    $_SESSION['first'] = $time ;
    $_SESSION['last_activity'] = $time 

    وقتی کاربر داره توی سایت میچرخه
    کد PHP:
    //وقتی کاربر داره توی سایت میچرخه
    $time time();
    $_SESSION['last_activity'] = $time ;

    if( 
    $_SESSION['last_activity']-$_SESSION['first'] > 300)
    {
        
    $sql "update user set last_activity=$time";
        
    $_SESSION['first'] = $time ;


    وقتی میخوای آفلاین و آنلاین بودن رو نشون بدی
    کد PHP:
    // برای چک کردن آفلاین و آنلاین بودن
    if( $_SESSION['last_activity']-$_SESSION['first'] > 300)
    {
        echo 
    'آفلاین';
    }
    else
    {
        echo 
    'آنلاین';


    حله داش ؟
    البته یه ذره باید خودت میزونش کنی ، مثلاً به جای
    کد PHP:
    $_SESSION['first'
    یه کلید سختتر بذار .
    کد PHP:
    $_SESSION[sha1($user_name)]['first'

    نقل قول: من مدیر که خودم به نوعی کاربر دیگه هستم چطور بیام اول: چه کاربر هایی الان واس خودشون سشن درست کردن

    بعدم چطوری به سشن های دیگر کاربران دسترسی داشته باشم؟
    تو بعنوان مدیر به جای دسترسی به سسشن ، از فیلد last_activity جدول یوزرها استفاده میکنی .
    و به جای بازه 5 دقیقه ، از بازه 10 دقیقه استفاده میکنی .
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    (آخرین ویرایش در این ارسال: ۱۳۹۱ مهر ۱۲ ۰۵:۱۶ صبح، توسط Reza.)
    ۱۳۹۱ مهر ۱۲ ۰۵:۱۳ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : hamid_80386 aziminia Muhammad-Ali
    « قدیمی تر | تازه‌ تر »

  • صفحه‌ها (2):
  • ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS