bana komut, kim ve kaç kullanıcıları, çevrimiçi

3 Cevap php

PHP bu 'tahmin' yolları olduğunu keşfetti ettik sitemde 'online' kaç kişi bana yapmak için bir yol bulmak için benim araştırma.

Ben hata yönetimi uğruna da, sitede olur her şeyi oturum seçtiniz, ama şimdi benim SQL sorgusu yazarken de şaşırıp.

Temelde ben 'IP', 'adınız' ve 'datetime' ile bir veritabanı var ve ben bu gibi bir sorgu hile yapacağını düşündüm:

SELECT distinct(IP), datetime 
FROM `bigBrother` 
WHERE datetime BETWEEN DATE_SUB(NOW(), INTERVAL 3 MINUTE) AND NOW()

Sorun benim site çoğunlukla incelendi ve okul ağı öğrenciler tarafından kullanılan olmasıdır, ve de ... hepsi aynı IP var.

Yani soru ben bu hakkı yapıyorum, ve ben (bir 'kimliği' olacak - diğerleri = 0 kimliği olacak) kayıtlı kullanıcıları sıralamak böylece ben, benim veritabanından iki ayrı satır seçebilirsiniz?

3 Cevap

Sadece session id yerine IP kullanın.

IP adresleri yerine çerezleri kullanın.

PHP çok kolay olduğunu oturum mekanizmasıdır ile yapar. Her On Önce bir session_start() yapmak ve daha sonra size veritabanında koyabilirsiniz ziyaretçinin bir tanımlayıcı olarak session_id() tarafından döndürülen değeri kullanın.

Ben de bu özellik için istedi ve burada ben yaptım nasıl bir okul sitesi için bir sistem oluşturdu.

Ben "ONLINE_TIME" olarak adlandırılan bir alan olduğunu tabloda, kullanıcıların bir tablo vardı

Kullanıcı bu kullanıcının şimdiki zaman bu güncellenmiş "ONLINE_TIME" in açmış ise, her sayfada bir işlevi çağrıldı. (Unixtime)

Sonra ben vardı bir "ONLINE_TIME" baktı ve son 5 dakika online süresi ile tüm kullanıcılara görüntülenen fonksiyonu "Who is online".

Yorumlarınız için DÜZENLE:

Sen aynı işlevi başka bir tabloda oturum kimliği ve kaydedildiği zamandan tasarruf yapabiliriz. Session id bu kullanıcı tarama özgü, yani session id aktif son 5 dakika içinde sayısını alabilir.

session_id()