نمایش نتایج 1 تا 10 از 10

نام تاپیک: تعداد کاربران آن لاین

  1. #1
    کاربر تازه وارد آواتار hamedfarahabady
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    قم - تهران
    سن
    32
    پست
    35

    Question تعداد کاربران آن لاین

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

  2. #2

    نقل قول: تعداد کاربران آن لاین

    با سلام، يك جدول ايجاد كنيد كه فقط يك فيلد داره: ID
    ID افراد موقع Login توي اين جدول ثبت ميشه و كافيه تعداد سطرهاي اين جدول رو بعنوان تعداد افراد آنلاين نمايش بدين. موقع Logout هم ID مربوطه از اين جدول حذف ميشه. در مورد اينكه چطور بفهميم فرد ديگه آنلاين نيست (حتي اگه مرورگر رو ببنده و روي Logout كليك نكنه) هم اگه خواستين، بگين تا يكي دو روش رو بگم.
    موفق و مؤيد باشيد.

  3. #3
    کاربر تازه وارد آواتار hamedfarahabady
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    قم - تهران
    سن
    32
    پست
    35

    نقل قول: تعداد کاربران آن لاین

    سلام مشکل اصلی من در درست کردن تعداد کاربران آن لاین اینه که چه جوری بفهمم فردی که مرورگر رو بسته و روی خروج از سیستم کلیک نکرده دیگه آنلاین نیست؟

  4. #4
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: تعداد کاربران آن لاین

    باید از طریق آی پی عمل کنی

    یعنی ای پی طرف رو بگیری و تا زمانی اون آی پی در سایت هست اون نفر یک کاربر آنلاین باشه

  5. #5
    کاربر دائمی آواتار xoogle.ir
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    <?مشهد=?>
    پست
    503

    نقل قول: تعداد کاربران آن لاین

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

  6. #6

    نقل قول: تعداد کاربران آن لاین

    نقل قول نوشته شده توسط hamedfarahabady مشاهده تاپیک
    سلام مشکل اصلی من در درست کردن تعداد کاربران آن لاین اینه که چه جوری بفهمم فردی که مرورگر رو بسته و روی خروج از سیستم کلیک نکرده دیگه آنلاین نیست؟
    با سلام، از طريق جاوا اسكريپت توي رويداد onUnload همه صفحات بجز logout.php، كاربر رو به صفحه logout.php هدايت كنيد و بستن پنجره رو لغو كنيد. اينطوري اگه مرورگر رو بخواد ببنده، به صفحه logout.php هدايت ميشه و اونجا ميتونه صفحه رو ببنده چون توي رويداد onUnload اون صفحه چيزي ننوشتيد.
    يك راهش هم همونه كه دوستمون گفتن. البته بهتره يك فيلد در جدول كاربران آنلاين اضافه كنيد كه زمان آخرين فعاليت در سايت رو نشون ميده و در هر صفحه، فيلد مربوطه رو براي كاربر (اگه آنلاين بود و ID اون فرد توي جدول ID وجود داشت)، اين فيلد رو با زمان جاري تنظيم كنيد. بعد يك فايل PHP درست كنيد كه از توي اين جدول، ركوردهايي كه زمان فعلي سرور 20 دقيقه يا بيشتر (بطور دلخواه) از زمان ثبت شده در فيلد مربوطه در اون ركوردها بيشتره رو حذف كنه. حالا كافيه اين فايل رو هم ابتداي همه صفحات include كنيد. البته يادتون نره كه از اين به بعد براي بررسي اينكه كاربر لاگين كرده يا نه، از Session نبايد استفاده كنيد بلكه ملاك ورود كاربر بايد اين فايل باشه چون ممكنه يك كاربر توي اين جدول حذف شده باشه ولي هنوز Session باز داشته باشه (مثلاً هنوز مرورگر رو نبسته ولي 20 دقيقه است كه كاري نكرده). همين سايت برنامه نويس هم داره از اين روش استفاده ميكنه.
    شرمنده كه يكم خلاصه و تا حدودي تخصصي توضيح دادم. اگه توضيح بيشتري خواستين، بفرماييد تا با مثال و دقيق تر راهنمايي كنم.
    موفق و مؤيد باشيد.

  7. #7
    کاربر تازه وارد آواتار hamedfarahabady
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    قم - تهران
    سن
    32
    پست
    35

    نقل قول: تعداد کاربران آن لاین

    بی زحمت اگه میشه یک نمونه کد از روش اول برام بذارید

  8. #8
    کاربر دائمی آواتار abbas3zaar
    تاریخ عضویت
    تیر 1388
    محل زندگی
    گیلان
    سن
    34
    پست
    312

    نقل قول: تعداد کاربران آن لاین

    شما که میگی آی پی چک بشه، شاید تعدادی با یک آی پی وارد بشن! (وـی پـی ان)

  9. #9
    کاربر دائمی آواتار soroush.r70
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    مازندران - آمل
    پست
    1,157

    نقل قول: تعداد کاربران آن لاین

    کد اصلی
    /////////////////////////////کاربران آنلاین/////////////////////////////////////////
    $config = array(
    user_time => time(),
    user_ip => $_SERVER['REMOTE_ADDR'],
    file_name => 'users.txt'
    );
    $new_line = $config['user_ip'] . "|" . $config['user_time'] . "\r\n";
    file_put_contents($config['file_name'], $new_line); //Write File
    $online_file = file_get_contents($config['file_name']);
    $online_file = explode("\r\n", $online_file);
    foreach($online_file as $online_users)
    {
    $users = explode("|", $online_users);
    if($users[1] >= time() - 300)
    {
    $online++;
    }
    }



    ایجاد فایل users.txt

    فراخوانی

    <?php echo number_format($online); ?>

  10. #10
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: تعداد کاربران آن لاین

    با سلام خدمت همگی دوستان
    شرمنده چند روزی نبودم

    اینجا کمک خوبی بهتون می کنه:
    http://webilix.com/article/view/onli...php-and-mysql/

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •