• 30-04-2018, 12:25:47
    #1
    Arkadaş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:31:45
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    session yarat
  • 30-04-2018, 12:37:31
    #3
    websocket kullanabilirsin

    yada devamlı ajax istegi gonder son 30 snde istek gelmediyse offlinedir
  • 30-04-2018, 12:45:31
    #4
    Adalente adlı üyeden alıntı: mesajı görüntüle
    Arkadaş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 ?
    ajax.php -> üye offline konumda ise ilgili kolonu online olarak değiştir
    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, 12:50:17
    #5
    Session ile giriş yaptırıyorum ama çıkış yaptığında bunu nasıl kontrol edeceğimi bilmiyorum. Giriş yaptığında kontrol ediyorum çıkış yaparsada ama tarayıcıdan direk çıktığında kontrolü nasıl sağlamam gerektiğini bilmiyorum.
  • 30-04-2018, 14:12:02
    #6
    Adalente adlı üyeden alıntı: mesajı görüntüle
    Arkadaş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 ?
    Javascript ile kontrol et sayfa içinde hareket etmiyor ise üyeye ait sessionu öldür
  • 30-04-2018, 14:33:42
    #7
    Ideal 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:22
    #8
    ztk
    Kimlik 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:09
    #9
    Bir 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
    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.




    ç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');
    
    
    }