Uzman Cevap beta aşamasından çıkmaya hazırlanıyor! Yenilikleri takipte kalın.

online/offline [ÇÖZÜLDÜ]

merhaba arkadaşlar admin panele giriş yapaken kullanıcıyı online yapabiliyoruz ha keza çıkış yaparkende offline yapabiliyoruz.Sorun çıkış yapılmadan sayfanın kapanmasından sonra başlıyor bu sıkıntıyı nasıl çözebiliriz.
Cevaplar (8)
0
Sorunuzu tam olarak anlayamadim lutfen aciklarmisiniz? Belki coze biliriz.
0
kullanıcı bilgilerimin kayıtlı olduğu veritabanına online diye bir alan açtım kullanıcı giriş yapınca 1 çıkış yapınca 0 veriyorum. Böylelikle online veya offline olduğunu anlıyorum. Ama kullanıcı çıkış tuşuna basmadan tarayıcıyı kapasa elektrik gitse vs. 0 yapma işlemini gerçekleştiremiyorum buda sıkıntıya sebep oluyor. Bunu nasıl çözebiliriz.
0
oncelikle tabloda 'active' diye bir sutun olusturursun burda zamani saniye olaraq tutucaksin yani soyle.
Kullanicinin sayfalarinada bu kodu eklersin her sayfaya girdiginde veya refresh yaptiginda degeri update etsin diye
$zaman = time();
$kadi = $_SESSION["kadi"]; //SESSION baslamis kullanici adi

mysql_query("UPDATE tablo_adi SET active = '$zaman' WHERE kadi='$kadi'");

sonrada active sutunundaki degeri cekiyorsun oda soyle olucak.

$sql = "SELECT * FROM tablo_adi WHERE kadi = '".$_SESSION['kadi']."'";
$query = mysql_query($sql);
while ($goster = mysql_fetch_array($query)){
$songorulme = $goster['active'];
// active degerini aldiktan sonra bunu ifle yoklarsin eger veri tabanindaki active degeri simdiki degere esitse online aksi halde offline olur su sekilde yani
if($time-$songorulme<1){
echo "Online(Çevrimiçi)";
}
else
{
echo "Offline (Çevrimdışı)";
}
}
0
kullanıcı giriş yaptığında bir cookie tanımla online adında bunuda ister 5 dakika ister 10 dakikaya ayarla bu birde cronjob için çalıştırıcağın bir sayfa hazırla veritabanına active sütununun yanına birde datetime ekle active olduğu tarihi saati yazdır cronjob da eklenen tarih ile şimdiki tarih arasında kaç dakika fark olduğuna baksın diyelim 5 dakikaya ayarlardın 5 dakikadan fazla ise active sütununu silsin yada güncellesin offline olarak cookie ye gelince böyle bir cookie yok ise tekrardan active eklesin veritabanına
0
Bunun için en iyi yöntem sunucu tarafı javascipt yazmaktır. Socket.io ve Node.js ile bunu bir veritabanı ya da kayda ihtiyaç duymadan yapabilirsiniz.
0
problemi çözdüm.


/*Online İşlemleri*/
$zaman = time();
$bes_dk = time()-300;

$kullanici_cookie_sorgu_ = $db->query("select * from kullanici");
foreach($kullanici_cookie_sorgu_ as $data){
	$id = $data[0]; $time = $data["time"]; $online = $data["online"];
	if($id == $_SESSION["id"]){
		if($online == '0'){
			$update = $db->prepare("update kullanici set online = :online where id = :id")->execute(array(":online" => '1', ":id" => $_SESSION["id"]));
		}
		if($bes_dk >= $time){
			$db->prepare("update kullanici set time = :time where id = :id")->execute(array(":time" => $zaman, ":id" => $id));
		}
	}else{
		if($bes_dk >= $time){
			$db->prepare("update kullanici set online = :online where id = :id")->execute(array(":online" => '0', ":id" => $id));
		}
	}
}
0
gercek saglıklı bir sekilde bu online olayı nasıl yapılır yani böle yapmak nekadar saglıklı gercek sitelerde nasıl kullanılır bilen varsa yardımcı olursa sevinirim
0
Bu banada lazim verirmisin
Cevap Yazın..

[code=css,php,sql,asp..]..kod..[/code] , [url=http:...com] , [img=resim linki]
[color=renk kodu]..yazı..[/color]

yabancı dizi izle tv ünitesi