setcookie ("kullaniciadi", "$kullaniciadi", time() + 3600); bittiğinde tablodaki online durumu nasıl 0 yaptırabilirim ?
php online üye
4
●1.952
- 22-10-2008, 17:25:16Kimlik doğrulama veya yönetimden onay bekliyor.
CREATE TABLE `onlineuyeler` ( `id` int(11) NOT NULL auto_increment, `oturumsuresi` varchar(50) NOT NULL, `tip` text NOT NULL, `uye` text NOT NULL, `ip` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=46 ; <? require ("bagla.php"); require ("tani5.php"); $uye = $_SESSION["user"]; $tip = 1; $ip = $_SERVER["REMOTE_ADDR"]; if(empty($uye)){ $uye = $ip; $tip = 0; } $oturumsuresi = time()+60*1; $uyevarmi = mysql_query("SELECT * FROM onlineuyeler WHERE uye='$uye'"); if(mysql_num_rows($uyevarmi)>0){ mysql_query("UPDATE onlineuyeler SET oturumsuresi='$oturumsuresi' where uye='$uye'"); }else{ mysql_query("INSERT INTO onlineuyeler (oturumsuresi,tip,uye,ip) values ('$oturumsuresi','$tip','$uye','$ip')"); } $suan = time(); mysql_query("DELETE FROM onlineuyeler WHERE zaman<='$suan'"); $sorgu = mysql_query("SELECT * from onlineuyeler WHERE oturumsuresi > ".time()." ORDER BY id ASC"); While($yaz=mysql_fetch_object($sorgu)){ if($tip==0){ echo "online kimse yok"; } else { echo $yaz->uye."<br>"; } } ?>Kaynak : online üye göster de mysql hatasi - Ceviz Forum - 22-10-2008, 21:28:03Tablo açmayacaksınız üye tablosuna alan açacaksınız, mesela bu alanın adı giris_tarihi yapalım. Üye siteye giriş yaptığında giris_tarihine o anki zamanı kaydedersiniz. Sonra sayfalarda gezerkende o anki tarihi giris_tarihi alanına tekrar yazarsınız.
Son olarak da bir cron ile kontrol ettirerek mesela 10dk harekette bulunmayan kullanıcıların online durumunu 0 yaparsan bu sorunu halletmiş olursun.