• 14-07-2020, 22:25:46
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    İyi akşamlar arkadaşlar...

    Ben sitem'e online üye ve offline üye olayı yaptım... Giriş yapınca online = 1 oluyor. Çıkış yapınca ise online = 0 oluyor... Buraya kadar tamam...
    Fakat çıkış yapmadan direk tarayıcıyı kapatan birisini belli bir süre sonra nasıl offline'a düşürebilirim... jquery'de tarayıcı kontrolü ile ilgili bir kod var ama tam oturtamadım...
  • 14-07-2020, 22:29:11
    #2
    Abi selamlar online ofline mantığı bu şekilde yapılmaz. Tarih mantığı ile yapılır unix ile
    örneğin

    header'a girdiği zaman eğer user varsa tabloda onlinedurum tarihine o anki tarihin unixini yazarız ve online durumu 1 yaparız
    ardından cron ile her 1 2 dakika da bir kontrol ettiririz eğer zaman farkı 10 dakikadan veya farklı 5 dakikadan fazlaysa online durum 0 olur
  • 14-07-2020, 22:29:08
    #3
    Jquery ile belirli saniye araliklarla ajax istegi goderirsiniz, belirli aralikta istek gelmediyse offline olarak guncelleyebilirsiniz
  • 14-07-2020, 22:31:57
    #4
    Unixtime bakacaksın sonaktivite 'yi guncelleyeceksin unix olarak eğer 15 dakikadır hareket yoksa online eşittir 0 olacak
  • 14-07-2020, 22:32:23
    #5
    Üyeliği durduruldu
    ismaildondu adlı üyeden alıntı: mesajı görüntüle
    Abi selamlar online ofline mantığı bu şekilde yapılmaz. Tarih mantığı ile yapılır unix ile
    örneğin

    header'a girdiği zaman eğer user varsa tabloda onlinedurum tarihine o anki tarihin unixini yazarız ve online durumu 1 yaparız
    ardından cron ile her 1 2 dakika da bir kontrol ettiririz eğer zaman farkı 10 dakikadan veya farklı 5 dakikadan fazlaysa online durum 0 olur
    Aynen arkadaşın dediği gibi
  • 14-07-2020, 22:33:37
    #6
    Eğer sitenize sürekli birileri giriyorsa crona bile gerek kalmadan kaç dakika istiyorsanız çıktığı zamana o süreyi ekletin. Sonra çıktığı süre şimdiki zaman olduğunda sql update komutu ile online değerini 0 yapın. Umarım anlatmak istediğimi anlatabilmiştirim.
  • 14-07-2020, 22:34:21
    #7
    Peki bana bu konuda bir yol gösterebilir misiniz. Bir döküman olsa da olur... Daha önce cron ile alakalı çalışmam olmadı hiç o yüzden...



    bir de olayın benim açımdan basit olması için buradaki http://www.serkandaglioglu.com/post/...slem-yaptirmak işlemi yapsam sağlıklı olur mu? tarayıcı kapatmayı algılatmak gibi...
  • 14-07-2020, 22:38:28
    #8
    Pho3nix89 adlı üyeden alıntı: mesajı görüntüle
    Peki bana bu konuda bir yol gösterebilir misiniz. Bir döküman olsa da olur... Daha önce cron ile alakalı çalışmam olmadı hiç o yüzden...




    bir de olayın benim açımdan basit olması için buradaki http://www.serkandaglioglu.com/post/...slem-yaptirmak işlemi yapsam sağlıklı olur mu? tarayıcı kapatmayı algılatmak gibi...
    Cron kullan abi en garanti çözüm cron online/off işleminde
  • 14-07-2020, 22:39:31
    #9
    Pho3nix89 adlı üyeden alıntı: mesajı görüntüle
    Peki bana bu konuda bir yol gösterebilir misiniz. Bir döküman olsa da olur... Daha önce cron ile alakalı çalışmam olmadı hiç o yüzden...
    Merhabalar,
    Elimden geldiğince açıklayıcı ve basit bir anlatım yapmaya çalışacağım, hatam olursa şimdiden affola.

    Cron olmadan online/offline sistemi yapılabilir. Header'e her istek gittiğinde son aktiviteyi güncellemeniz için bir UPDATE sorgusu yazın. Header içinde bu update sorgusu olacağından kullanıcı her bir yere girip çıktığında son aktivitesi güncellenmiş olacaktır. Şimdi gelelim online/offline göstermeye; online ve offline durumunu gösterdiğiniz yerde tablonuzda ki son_aktiviteyi ele alıp 15 dakikadan eski ise offline değil ise online şeklinde gösterim yapabilirsiniz. Eğer gösterimi tek bir yerde değil, bir çok yerde yapacak iseniz o halde CRON kullanmanız mantıklı olacaktır. Cronlar, zamana bağlı çalışan dosya, fonksiyon ve komut yapılarıdır. Cpanel ve plesk gibi yönetim panellerinden kolayca cron oluşturabilirsiniz. Cronlu olan yöntemde ise online diye bir satır daha açmalısınız veritabanına. 15 dakikada bir çalışacak bir cron dosyası (PHP) oluşturup eğer son_aktivite 15 dakikadan eski ise online değerini 0, 15 dakikadan eski değil ise online değerini 1 yapınız. Şimdi online ve offline gösterimi yapacağınız sayfa ve bölümlerde üyenin veritabanında bulunan online değerini kontrol etmeniz yeterli olacaktır.

    Takıldığınız bir nokta olursa, yardımcı olmak isterim

    İyi çalışmalar...