Sayfayı kapatınca çıkış yaptırmak.

Herkese iyi akşamlar.Arkadaşlar ben online üyeleri sayabilmek için kullanıcılar tablosuna online diye bir alan ekledim.Giriş yapınca 1 oluyor böylece online kişileri saydırıyorum çıkış yapınca 0 olarak kaydediliyor.Ama üyeler çıkışa basmadan sayfayı kapatınca 0 olarak kaydedilmiyo hep online görünüyo onu nasıl çözebilirim?Sayfayı kapatınca veritabanda değişiklik yaptırabilir miyim ?

php bilmemek ayıp değil bilipte çalıştıramamak ayıp
2011-01-06 22:16:55

Php

yusuefYusuf PolatAvatar

Sayfa kapandığında veritabanında direk değişiklik yapamazsın.

Bunu yapabilmen için sürekli bir tarama yapman lazım.Bir fonksiyon içerisinde kullanıcı için kullanıcılar tablosuna insert yaparken aynı zamanda silme işleminide yapacaksın. Bunu yapabilmen için girdiği anda ki tarih-saati karşılaştırma yapabilmek için veritabanında tutman lazım.

$timeout_suresi 60;
$zaman time();
$timeout $
zaman -$timeout_suresi;

$insert mysql_query("INSERT INTO kullanıcılar (zaman,ip,file) VALUES ('$zaman','$ip')");

$delete mysql_query("DELETE FROM kullanıcılar WHERE zaman<$timeout");

Bu şekilde insert işlemi ile birlikte aynı anda tablolarda timeout süresi dolanları bir delete sorgusuyla silerek temizleyebilirsin.


2011-01-09 17:25:21 Edit:2011-01-09 17:27:39

Php

teşekkür ederim cevabınız için ama time out süresi dolanlar derken ne demek istediniz anlayamadım.herkese bir sitede kalma süresi mi belirlemiş olucam yoksa siteden çıkışa basarak veya çarpıya basarak çıkış anını timeout olarak mı belirlemiş olucam ?

php bilmemek ayıp değil bilipte çalıştıramamak ayıp
2011-01-16 22:54:26

Php

Kullanıcı sayfalar arasında dolaştığı sürece veritabanına kaydediyor. 60 saniye boyunca hiçbir hareket yapmazsa siteden çıkmış kabul ediliyor.

Her programcı birgün Php yi tadacaktır
2011-01-16 23:53:17

Php

yazmayı unutmuşum. birçok forum arkadaşın önerdiği mantığı kullanır.

Alternatif olarak <body onUnload=""> kısmına yazılacak bir ajax sorgusu ile veritabanında online=0 olarak kaydedilebilir. tabii kullanıcı aynı anda birçok sayfa açmışsa bu mantık çöker.

Her programcı birgün Php yi tadacaktır
2011-01-16 23:56:00

Php

anladım çok teşekkür ederim 

php bilmemek ayıp değil bilipte çalıştıramamak ayıp
2011-01-18 17:37:48

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro