Js Online Ofline Durumu
10
●361
- 30-04-2018, 12:25:47Arkadaşlar sql ile üyenin online ofline durumunu kontrol ediyorum giriş çıkışda sorun yok ama çıkış yapmayanlar için js ile çözüm bulmuşlar ama burada tarayıcının kapandığını nasıl anlayacağız js ile onu bir türlü çözemedim bu işlemi nasıl yapmamız lazım yardımcı olurmusunuz ?
- 30-04-2018, 12:45:31ajax.php -> üye offline konumda ise ilgili kolonu online olarak değiştirAdalente adlı üyeden alıntı: mesajı görüntüle
ilgili javascript komutu -> üye sitede bulunduğu sürece her 10 saniyede bir ajax.php'ye istek gönder
Burada tek sorun kalıyor oda kullanıcı siteden ayrılırken nasıl durumunun "offline" hale çevrileceği;
function cikisYap(){ // ilgili kodlar... } window.onunload = cikisYap; - 30-04-2018, 14:12:02Javascript ile kontrol et sayfa içinde hareket etmiyor ise üyeye ait sessionu öldürAdalente adlı üyeden alıntı: mesajı görüntüle
- 30-04-2018, 14:33:42Ideal kavraminin tamamen disinda ama kisaca söyle; 1. Frontend den ajax ile (misal 5 dakikada bir) mantigi isledigin php ye veri gönder.
2. Controller (veriyi isteldigin yerde) git veritabanina time()+600 yaz. (Bu üyeyi 5dakika daha online durumunda kabul edeceksin)
3. Üyenin profilini gösteridigin yerde last_seen (az önceki time()+600 yazidigin yer) ile simdi arasinda ki fark > 600 ise offline dir. - 30-04-2018, 15:43:22Kimlik doğrulama veya yönetimden onay bekliyor.
window.addEventListener("beforeunload", function (e) { console.log('bye'); });burada console.log('bye') yazan yerde kullanıcının çıkış işlemini yakalayabilirsin ama dezavantajları da var.
Örneğin kullanıcı sayfalar arasında gezerken de bulunduğu sayfadan çıkmış olacak. Her sayfaya girdiğinde yeniden online yapman lazım. - 01-05-2018, 16:39:09Bir cronjob yaptım ama sanırım güncellemede bir yerde hata yapıyorum.
Beş dakikada bir çalışmaya programladım.
$tarih=strtotime(date("Y.m.d H:i:s"))-60;
mysql_query("update user set durum='0' where tarih<'$tarih' ");
yukarıdaki kodda bir hatam varmı acaba ?
ztk adlı üyeden alıntı: mesajı görüntüle
çalışmıyor anlamadım kodda hata yok gibi yada ben göremedim
$tarih= date('Y.m.d H:i:s', strtotime('-10 minutes')); $update = mysql_query("UPDATE user SET user_online='1' WHERE giris_tarihi<'$tarih'"); if ( $update ){ print "güncelleme başarılı!"; }else{ print "Tarih Uyumsuz!"; echo $tarih; echo date('Y.m.d H:i:s'); }