-
Üyelik
25.03.2021
-
Yaş/Cinsiyet
45 / E
-
Meslek
programcı
-
Konum
Elazığ
-
Ad Soyad
T** A**
-
Mesajlar
58
-
Beğeniler
3 / 7
-
Ticaret
0, (%0)
Merhaba arkadaşlar. Benim veritabanında "durum" adında bir alanım var, buraya kişinin online olduğunu belirten 1 sayısı ekleniyor, oturum kapatılınca da bu sayıyı 0 yapan bir sorgu çalışıyor ve ardından çıkış yapılıyor, buraya kadar sıkıntı yok. Peki ya kişi tarayıcıdan kapatırsa ne olacak? O zaman kişinin kaydının bulunduğu o alan 1 olarak kalacak ve uygulamayı kapattığı halde diğer kullanıcılar bu kişiyi hala online olarak görecekler, işte bu soruna bir çözüm arayışındayim. Hepimiz biliyoruz ki tarayıcının kapatılması anında bir kodun çalışması için anca arka planda ayrı bir kod yapısının çalışması gerekir ki kapatılma eventini algilasin. Böyle bir sistem yok, ne yapabilirim acaba, bı fikri olan var mı? İlgilerinin için şimdiden teşekkürler.
-
Üyelik
15.05.2015
-
Yaş/Cinsiyet
33 / E
-
Meslek
PHP Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
Ö** G**
-
Mesajlar
1207
-
Beğeniler
382 / 381
-
Ticaret
16, (%100)
tarkan3261 en mantıklısı bir süre belirtmek. Güncelleme üzerinden 5 dk geçtiyse yeni güncelleme gelmediyse 0 yapabilirsiniz. Aklıma bu geldi. Yani her 5 dk da bir kontrol ettirmek gibi bişey olabilir. Bu şekilde kapatırsa en fazla 5 dk sonra offline olacaktır.
Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
-
Üyelik
25.03.2021
-
Yaş/Cinsiyet
45 / E
-
Meslek
programcı
-
Konum
Elazığ
-
Ad Soyad
T** A**
-
Mesajlar
58
-
Beğeniler
3 / 7
-
Ticaret
0, (%0)
Çok iyi, sayın Ömer Günay teşekkür ederim, peki bu 5 dakikada bir olacak güncellemeyi oyle bir sayfada yapmalıyım ki kisi tarayıcıyı, yani chat sayfasini kapatacak ya o sayfada olmaz yani, yani artık o kisi için o sayfa yok artık, iste bu yüzden başka sayfada bu dediğinizi yapmalıyım, dogru mu?
-
Üyelik
15.05.2015
-
Yaş/Cinsiyet
33 / E
-
Meslek
PHP Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
Ö** G**
-
Mesajlar
1207
-
Beğeniler
382 / 381
-
Ticaret
16, (%100)
tarkan3261 bu işi hiç yapmadım yapanlar daha iyi bilirler tabiki. Ama şöyle yapabilirsiniz. Her sayfanın başına update kodu ekleyin. O sayfayı yenileyen veya yeni giren birisinin session dan id sini alıp durumuna 1 yazıdırın ve süreyi alın. Bu süreden 5 dk sonrasında durumu 0 yapın. Eğer kişi yenilerse sayfayı veya başka sayfaya geçerse zaten tekrar o 5 dk lık süre tekrar başlar. Yenilemez veya başka sayfaya geçmezse sitede olsa bile offline olarak gösterirsiniz. Aklıma böyle bi çözüm geldi.
Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
-
Üyelik
25.03.2021
-
Yaş/Cinsiyet
45 / E
-
Meslek
programcı
-
Konum
Elazığ
-
Ad Soyad
T** A**
-
Mesajlar
58
-
Beğeniler
3 / 7
-
Ticaret
0, (%0)
Çok teşekkür ederim, yalnız giriş yapan kişi sayfayı sürekli yenileyecek mı?
-
Üyelik
12.03.2013
-
Yaş/Cinsiyet
32 / E
-
Meslek
...
-
Konum
Adana
-
Ad Soyad
M** Ç**
-
Mesajlar
665
-
Beğeniler
329 / 328
-
Ticaret
1, (%100)
Tarayıcı kapatırken yakalamak vs. riskli iş. Tarayıcı kapatmadan interneti kesilirse veya bilgisayar aniden donarsa vs. yine işe yaramaz.
Her sayfa yenilediğinde veritabanına o anki zamanı kaydedin. Ve online üyelerde listelerken zaman damgası 1 dakikadan daha kısa olanları online gösterin. 1 dakikadan uzun süredir hareket yoksa zaten ofline'dir. Böylece ofline olanların da en son ne zaman online olmuş veya hareket etmiş onu da gôsterebilirsiniz o zaman damgasıyla.
Peki üye sayfa yenilemeden bir sayfada uzun süre durursa nasıl olacak derseniz onu da javascrip ile yapabilirsiniz. Her sayfaya javascript kodu koyacaksınız, üye o sayfada sabit dursa bile 60 saniyede bir arkaplanda online süresini yeniliceksiniz.
Not: Ben 1dk dedim ama sitenize göre süreyi ayarlayabilirsiniz.
-
Üyelik
04.04.2020
-
Yaş/Cinsiyet
19 / E
-
Meslek
Kodlama
-
Konum
İstanbul Avrupa
-
Ad Soyad
L** P**
-
Mesajlar
160
-
Beğeniler
45 / 57
-
Ticaret
1, (%100)
Xenforo kullanıyor aynı mantığı lastactivity olayı, veritabanında bir tabloda lastactivity alanına kişinin son aktivite zamanı ekleniyor yanlış anlama her sayfa yenilenmesinde değil sayfa açıkken javascript üzerinden setInterval ile örneğin 500 salisede bir phpye post gönderiliyor o php zamanı güncelliyor. Ek olarak post yapılan phplerede ekleyebilirsin, durum kısmı 1 veya 0 yerine basit bir php kodu ile kişinin son aktivitesi üzerinden örneğin 10 dakika geçtiyse offline geçmedi ise online olur.
Storyman
Kimlik Onayı Bekliyor
Banlı Kullanıcı
-
Üyelik
31.08.2020
-
Yaş/Cinsiyet
44 / E
-
Meslek
Reklam Ajansı ve Web Geliştirm
-
Konum
Bursa
-
Ad Soyad
E** T**
-
Mesajlar
210
-
Beğeniler
129 / 105
-
Ticaret
1, (%100)
Ömer Günay'ın dediği şekilde yaparsanız en garantisi olur derim. Sessiona ek süre tanımlayarak. Başka da bir çözüm aklıma gelmiyor
-
Üyelik
25.03.2021
-
Yaş/Cinsiyet
45 / E
-
Meslek
programcı
-
Konum
Elazığ
-
Ad Soyad
T** A**
-
Mesajlar
58
-
Beğeniler
3 / 7
-
Ticaret
0, (%0)
Ya arkadaşlar çok teşekkür ederim bunları uygulayacağim da benim çok basit ama bana kafayı yedirtecek çok inatçı bı sorunum var; bir sayfada oluşturulan session bilgisi başka sayfadan nasıl çağrılır nasıl bu değer alınır çok iyi biliyorum ama olmuyor bı türlü oluşturduğum session a başka sayfadan ulaşamıyorum, zaten basit bir iki kod, ama olmuyor, sayfada tanımsız değişken hatası veriyor, ne yaptıysam olmadı intten araştırdım taa PHP ini dosya ayarlarına girdim yine olmuyor olmuyor rica etsem bu konuda bu tecrübeyi yaşamış olan biri varsa yardımcı olabilir mı, bu sorun bu küçücük sorun bana kafayı yedirtecek, teşekkürler
-
Üyelik
03.04.2019
-
Yaş/Cinsiyet
29 / E
-
Meslek
.
-
Konum
Trabzon
-
Ad Soyad
A** K**
-
Mesajlar
905
-
Beğeniler
393 / 395
-
Ticaret
3, (%100)
O diğer sayfada session_start() yazdığınıza emin misiniz peki?
1 kişi bu mesajı beğendi.