Главная > PHP, Web > Сколько пользователей просматривает сайт (сколько online)

Сколько пользователей просматривает сайт (сколько online)

Таблица MYSQL:

CREATE TABLE IF NOT EXISTS `sessions` (
  `id` int(11) NOT NULL auto_increment,
  `id_session` varchar(256) NOT NULL,
  `up_date` datetime NOT NULL,
  `user` varchar(40) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

counter.php (Подключаем для каждой страницы):

$id_session=session_id();
$ro=mysql_query("SELECT * FROM sessions WHERE id_session ='".$id_session."'"); 
if($ro) {
	if(mysql_num_rows($ro)>0) {
		$upd=mysql_query("UPDATE sessions SET up_date=NOW(), user='".$_SESSION['username']."' WHERE id_session ='".$id_session."'"); 
	}
	else {
		$into=mysql_query("INSERT INTO sessions (id_session, up_date, user) VALUES ('".$id_session."',NOW(),'".$_SESSION['username']."')");
	}
}
$del=mysql_query("DELETE FROM sessions WHERE up_date<NOW()-INTERVAL '15' MINUTE");
function CountOnlineUsers($ifguest){
	$q=mysql_query("SELECT COUNT(*)FROM sessions WHERE user".$ifguest); 
	if(mysql_num_rows($q)>0) {
		return mysql_result($q,0);
	}
}
$lang_stat=array(
	'online_all'=>'Онлайн всего: ',
	'online_guest'=>'Гостей: ',
	'online_user'=>'Пользователей: '
);

online.php (Подключаем там, где надо):

$guests=CountOnlineUsers("=''");
$users=CountOnlineUsers("!=''");
$all=$guests+$users;
echo $lang_stat['online_all'].$all."<br/>";
echo $lang_stat['online_guest'].$guests."<br/>";
echo $lang_stat['online_user'].$users."<br/>";
Categories: PHP, Web Tags: ,
  1. Пока что нет комментариев.
Похожие публикации