/
  • سوال: ساخت online / offline هوشمند

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

    حالت موضوعی | حالت خطی سوال: ساخت online / offline هوشمند
    نویسنده پیام
    faghani آفلاین
    عليرضا فغاني
    ****

    ارسال‌ها: 341
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۲
    اعتبار: 4
    تشکرها : 255
    ( 85 تشکر در 61 ارسال )
    ارسال: #1
    سوال: ساخت online / offline هوشمند
    سلام
    دوستان فرض کنین وقتی کسی وارد سایت شد ، در قسمت مربوطه بزنه انلاین و وقتی اتصالش به اینترنت یا اینکه صفحه رو بست به صورت خودکار حالتش افلاین بشه !Confused یعنی مثلا فردی اومد تو سایت بنویسن 1 نفر انلاین داریم و وقتی اتصالش به اینترنت یا اینکه صفحه رو بست بنویسن 0 نفر انلاین داریم...

    مثلا میخوام بدونم اگه کسی اینترنتش قطع شد بهش اخطار بده که دوباره متصل شو یا ...Blush


    راهنمایی کنین لطفاHeart
    باتشکرHeart
    ۱۳۸۹ ارديبهشت ۶ ۰۳:۲۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    mdgh آفلاین
    عضو جدید
    **

    ارسال‌ها: 24
    تاریخ عضویت: ۱۳۸۸ اسفند ۲۲
    اعتبار: 0
    تشکرها : 9
    ( 7 تشکر در 6 ارسال )
    ارسال: #2
    RE: سوال: ساخت online / offline هوشمند
    معمولا در این سایت ها به محض آف شدن کاربر، کاربر رو آفلاین نشون نمیدن و یه کم طول میکشه.
    یه راه میتونه این باشه که کاربر هر زمان به صفحه ای مراجعه کرد زمان آن ثبت شود و اگر اختلاف زمان کنونی و آخرین مراجعه از یک حدی بیشتر شد کاربر را آفلاین در نظر بگیرد و در این صورت میتوان متغیر های کاربر رو unset کرد تا اگه مجدد آنلاین شد نیاز به ورود مجدد باشد یا اینکه متغیرها رو از بین نبرد تا اگه کاربر مجدد آنلاین شد و امکان خوندن متغیر بود آنلاین در نظر گرفته بشه.
    ۱۳۸۹ ارديبهشت ۶ ۰۶:۰۵ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : hidensoft faghani
    hidensoft آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,384
    تاریخ عضویت: ۱۳۸۸ شهريور ۳
    اعتبار: 46
    تشکرها : 729
    ( 1394 تشکر در 782 ارسال )
    ارسال: #3
    RE: سوال: ساخت online / offline هوشمند
    نقل قول: اگر اختلاف زمان کنونی و آخرین مراجعه از یک حدی بیشتر شد کاربر را آفلاین در نظر بگیرد
    معمولا در این زمان کاربر رو away , idle , not at desk , ... در نظر می گیرند.
    ۱۳۸۹ ارديبهشت ۶ ۰۶:۳۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : faghani mdgh alic
    faghani آفلاین
    عليرضا فغاني
    ****

    ارسال‌ها: 341
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۲
    اعتبار: 4
    تشکرها : 255
    ( 85 تشکر در 61 ارسال )
    ارسال: #4
    RE: سوال: ساخت online / offline هوشمند
    نمونه کد ساده ای هم میدادین بد نبودBlush
    اگه امکانش هست یک نمونه کد بنویسید (نمیخواد حرفه ای باشه ) خودم راهکارش دستم بیاد حله Wink


    باتشکر ، بازم ممنونHeart
    ۱۳۸۹ ارديبهشت ۶ ۰۷:۳۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    mdgh آفلاین
    عضو جدید
    **

    ارسال‌ها: 24
    تاریخ عضویت: ۱۳۸۸ اسفند ۲۲
    اعتبار: 0
    تشکرها : 9
    ( 7 تشکر در 6 ارسال )
    ارسال: #5
    RE: سوال: ساخت online / offline هوشمند
    فکر کنم با توضیح بتونم منظور رو برسونم
    چیزایی که میخوام بگم نظر شخصیم هست و ممکنه راه حل های بهتری هم باشه
    شما میتونید به جدول یوزر فیلدی برای ثبت ساعت و تاریخ اضافه کنید و یا اینکه جدول جداگانه ای با فیلد های آی دی یوزر و ساعت و تاریخ ، به پایگاه داده اضافه کنید.
    در هر صفحه کدی رو اضافه کنید که مثلا آی دی یوزر و ساعت و تاریخ فعلی رو ثبت کنه(فرض کردم جدول جداگانه ای داریم). اگر هم کاربران مهمان مهم هستند ip کامپیوتر اونها به همراه تاریخ و ساعت فعلی ثبت شود.
    جایی از صفحه که کدی برای مشخص کردن تعداد افراد آنلاین قرار میدید، دستوراتی اضافه کنید تا اختلاف زمان فعلی و زمان آخرین بازدید هر کاربر رو تعیین کنه و اگر اختلاف از یه حدی (که خودتون تعیین میکنید) بر حسب دقیقه کمتر بود ، آنلاین در نظر گرفته بشوند.
    ۱۳۸۹ ارديبهشت ۶ ۰۸:۳۰ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    faghani آفلاین
    عليرضا فغاني
    ****

    ارسال‌ها: 341
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۲
    اعتبار: 4
    تشکرها : 255
    ( 85 تشکر در 61 ارسال )
    ارسال: #6
    RE: سوال: ساخت online / offline هوشمند
    من اینا رو خوب متوجه شدم...منظورم این زمان هست ! مثلا چجوری بفهمم 3 دقیقه کاری نکرده ؟
    من میام ای پی شخص یا ایدی کاربر رو تو جدول مخصوص ذخیره میکنم (همراه با آخرین زمان فعالیت) ، حالا چجور بفهمم اون زمانی که زدم 3 دقیقه شده؟!
    ایا خوبه که یک date("U""); بگیرم بعدش جمع و منها کنم؟ یا اگه روش زمانی بهتری هست مثل میگرو تایم یا ... لطفا راهنمایی کنینConfused


    باتشکرHeart
    (آخرین ویرایش در این ارسال: ۱۳۸۹ ارديبهشت ۷ ۰۶:۵۲ صبح، توسط faghani.)
    ۱۳۸۹ ارديبهشت ۷ ۰۶:۵۰ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    eaw_master آفلاین
    عضو جدید
    **

    ارسال‌ها: 1
    تاریخ عضویت: ۱۳۸۹ فروردين ۳۱
    اعتبار: 0
    تشکرها : 0
    ( 1 تشکر در 1 ارسال )
    ارسال: #7
    RE: سوال: ساخت online / offline هوشمند
    یه نکته!

    شما اگه می خوای به کاربر پیغام بده آفلاین شده و مجدداٌ برای آنلاین شدن تلاش کنه از PHP نباید استفاده کنی این کار مربوط به زبان های کلاینت ساید مثل جاوا میشه

    به صورت آجاکسی، جاوا باید هر یه مدت یه بار ارتباط رو چک کنه در صورت دریافت نکردن پاسخ به کاربر پیغام بده آفلاین شده، بنابراین تلاشی برای آنلاین شدن بکنه
    ۱۳۸۹ ارديبهشت ۷ ۰۹:۰۵ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : faghani
    mdgh آفلاین
    عضو جدید
    **

    ارسال‌ها: 24
    تاریخ عضویت: ۱۳۸۸ اسفند ۲۲
    اعتبار: 0
    تشکرها : 9
    ( 7 تشکر در 6 ارسال )
    ارسال: #8
    RE: سوال: ساخت online / offline هوشمند
    خوب هم موقعی که کاربر صفحه ای رو میبینه و برای ثبت زمان، و هم وقتی که تعداد افراد آنلاین را بررسی میکنید از تابع date استفاده کنید.
    مثلا می توانید با توجه به پارامتر های ورودی این تابع، ساعت و دقیقه و روز و ماه رو به صورت جدا محاسبه کنید و با استفاده از کاراکتر جدا کننده ای (مثل: ' - ' ) یک رشته بسازید.
    کد زیر را در هر صفحه و برای ثبت در دیتابیس به کد کامل اضافه کنید:
    کد PHP:
    <?php
    date_default_timezone_set
    ('iran');
    $time=date('m:j:G:i');
    ?>

    برای تعیین تعداد افراد آفلاین و آنلاین میتوانید از کد زیر الگو بردارید.
    البته یه مشکل هست و اون هم اینه که اگر کاربری دقایق آخر روز آخر ماه صفحه ای رو ببینه و بعد چند دقیقه که ماه تغییر میکنه بیاد، آف در نظر گرفته میشه و همچنین امکان این هست که کد ساده تر بشه و دو if ادغام بشه که من الان باید برم کلاس و وقت ادامه دادن ندارم و شما این مشکل و بهینه سازی رو حل کنید.

    کد PHP:
    <?php
    if($time_array[0]==date('m')&&$time_array[1]==date('j'))
      {
        
    $h=date('G')-$time_array[2];
        if(
    $h>=2)
          echo 
    'offline';
        else
          {
            
    $m=date('i')-$time_array[3];
            
    $m=$m>$m 60%(-$m);
                if(
    $m<=5)
                  echo 
    'online';
                else
                  echo 
    'offline';

          }

      }
    else if(
    $time_array[0]==date('m')&&(date('j')-$time_array[1]==1))
      {
        
    $h=date('G')-$time_array[2];
        
    $h=24%(-$h);
        if(
    $h>=2)
          echo 
    'offline';
        if(
    $h==1)
              {
            
    $m=date('i')-$time_array[3];
            
    $m=$m>$m 60%(-$m);
                if(
    $m<=5)
                  echo 
    'online';
                else
                  echo 
    'offline';

          }
        
      }
    else
      echo 
    'offline_';
    ?>
    ۱۳۸۹ ارديبهشت ۷ ۱۲:۲۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : faghani
    faghani آفلاین
    عليرضا فغاني
    ****

    ارسال‌ها: 341
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۲
    اعتبار: 4
    تشکرها : 255
    ( 85 تشکر در 61 ارسال )
    ارسال: #9
    RE: سوال: ساخت online / offline هوشمند
    خوب ممنون میشم ازت بهم کدشو بدیBlush من تاحالا با جاوا و با ایجکس زیاد کار نکردمConfused
    اگه میتونی یک کد بده چون کارم گیره ، یک راهنمایی هم برای اونایی که نیاز دارن میشهWink


    ممنون از همگیHeart
    ۱۳۸۹ ارديبهشت ۷ ۰۵:۳۹ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    faghani آفلاین
    عليرضا فغاني
    ****

    ارسال‌ها: 341
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۲
    اعتبار: 4
    تشکرها : 255
    ( 85 تشکر در 61 ارسال )
    ارسال: #10
    RE: سوال: ساخت online / offline هوشمند
    به ما رسیدگی نمیشه؟!BlushBig Grin
    کد که نمیدیBlush Big Grin
    عزیز کارم گیره هاUndecidedHeart


    باتشکرHeart
    ۱۳۸۹ ارديبهشت ۸ ۰۶:۰۹ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

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


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