Php ile Sayfadaki online kişi sayısını gösterir
(online kişi sayısı)
--------------------------------------------------------------------------------------------
Öncelikle bir veritabanına ihtiyacımız var. Veritabanımızda useronline adında bir table oluşturuyoruz. Gerekli kodlar altta.
CREATE TABLE useronline (
on_id int(20) NOT NULL auto_increment,
timestamp int(15) NOT NULL default '0',
ip varchar(100) NOT NULL default '',
file varchar(100) NOT NULL default '',
PRIMARY KEY (on_id)
) TYPE=MyISAM;
Daha sonra kodlarımızı yazalım ve user_online.php olarak kayıt edelim. Tabi siz adını değiştirebilirsiniz ama gerekli ayarlamaları unutmadan.
// user_online.php
<?
include ("config.php") // veritabanına bağlantı kodları yer alacak
$timeoutseconds = 60;
$timestamp = time();
$timeout = $timestamp-$timeoutseconds;
$SID = session_id();
$insert = mysql_query("INSERT INTO useronline (timestamp,ip,file) VALUES ('$timestamp','$SID','$PHP_SELF')");
if(!($insert)) {
print "kayıt hatası> ";
}
$delete = mysql_query("DELETE FROM useronline WHERE timestamp<$timeout");
if(!($delete)) {
print "";
}
$result = mysql_query("SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'");
if(!($result)) {
print "";
}
$user = mysql_num_rows($result);
mysql_close();
if($user == 1) {
print("<center><font color=blue size=1><b>$user</b></font><font size=1> Kişi Online</font>\n");
} else {
print("<font color=blue size=1><b>$user</b></font><font size=1> Kişi Online</font>\n");
}
?>
// sayfamızda istediğimizin bir yerine <?include ("online_user.php")?> kodunu eklersek işlem bitmiş olur.