İ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...
Php ile online offline sorunu
19
●312
- 14-07-2020, 22:29:11Abi 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:32:23Üyeliği durdurulduAynen arkadaşın dediği gibiismaildondu adlı üyeden alıntı: mesajı görüntüle
- 14-07-2020, 22:34:21Peki 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:28Cron kullan abi en garanti çözüm cron online/off işlemindePho3nix89 adlı üyeden alıntı: mesajı görüntüle
- 14-07-2020, 22:39:31Merhabalar,Pho3nix89 adlı üyeden alıntı: mesajı görüntüle
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...
