Онлайн потребители

chaser

Registered
Трябва ми код който да показва даден потребител е онлайн или не
пример
потребители:

ivailo - online ili
ivailo - onfline

в страницата с потребители след всяко име на потребител да пише да ли е онлайн или офлайн
 
Не знам ка ще стане кобинирането на този код от тази страница http://web-tourist.net/login/login/view.php?st=2621
с този код
login.php
Код:
<?php
define('IN_VALID', true); 
include ("include/header.php");
include ("modules/login.php");
$query = mysql_query("SELECT * FROM `users` WHERE  session='$ses'");
$red = mysql_num_rows($query);
if ($red != NULL) {
$my_ime = mysql_result($query, "0", "username");
/*echo ("Вие вече сте влезли с потребителско име:  $my_ime");*/

}
else {
$login=(isset($_POST['login']));
if($login) {
$uplastip=getenv('REMOTE_ADDR'); 
$uplastdate = date('d.m.20y'); 
$username = $_POST['username'];
$password1 = md5($_POST['password1']);
$query2 = mysql_query("SELECT * FROM `users` WHERE username='$username'");
$r = mysql_num_rows($query2);
if ($r != NULL) {
$query3 = mysql_query("SELECT * FROM `users` WHERE username='$username' AND password='$password1'");
$r2 = mysql_num_rows($query3);
if ($r2 != NULL) {
$query4 = mysql_query("UPDATE `users` SET session='$ses' WHERE username='$username' AND password='$password1'");
echo ("<p class='margin'><center>Здравейте ,<b>".$username."</b>! <br />Моля почакай 1 секунда, за да бъдеш прехвърлен към началото.</p><br />");
echo ("<meta http-equiv=\"refresh\" content=\"1;url=index.php\">");
}
else {
echo ("<div align='center' style='margin-top:170px;'>Грешна парола за потребител: <b><font color='red'>".$username."</font></b> !</div>");
}}
else {
echo ("<div align='center' style='margin-top:170px;'>Няма такъв потребител !</div>");
}}
else {
echo ("");
}}
echo ('</div>
</div>
</center>
</body>
</html>');
?>
</style>
<link rel='stylesheet' type='text/css' href='style/styles.css'>
Код:
<?php
$ses = session_id();
@$query = mysql_query("SELECT * FROM `users` WHERE session='$ses'");
@$red = mysql_num_rows($query);
if ($red != NULL) {
$my_id = mysql_result($query, "0", "id");
$my_ime = mysql_result($query, "0", "username");
if ($my_ime) {
$ls = mysql_query("SELECT * FROM message WHERE do = '$my_ime' AND procheten='ne'");
$lss = mysql_num_rows($ls);
$i=1;
if ($i <= $lss) {
echo "<ul id='sddm'>
       <li><a href='box.php'><font color='#ffffff'>Съобщения (</font><font color='red'><b>".$lss."</b></font><font color='#ffffff'>)</font></a></li>";
} else {
echo ("<ul id='sddm'><li><a href='box.php'><font color='#ffffff'>Съобщения (0)</font></a></li>");
}
}}
else {
 /*echo ('
}
<a href="search.php">Търси потребител</a></font></div>');*/
}
@$query2 = mysql_query("SELECT * FROM `users` WHERE session='$ses'");
@$red2 = mysql_num_rows($query2);
if ($red2 != NULL) {
$my_id = mysql_result($query2, "0", "id");
$my_ime = mysql_result($query2, "0", "username");
echo ('');
$a = mysql_query("SELECT * FROM users WHERE username='$my_ime'") or die(mysql_error());
$b = mysql_fetch_array($a);
$level = $b['level'];
$c = mysql_query("SELECT * FROM user_levels WHERE id_level='$level'") or die(mysql_error());
$d = mysql_fetch_array($c);
$level_id = $d['id_level'];
echo "<div class='level'><img src='' border='0'></div>";
echo '
<li><a href="members.php"><font color="#ffffff">Потребители</font></a></li>
<li><a href="profile.php"><font color="#ffffff">Профил</font></a></li>
<li><a href="upload/upload.php"><font color="#ffffff">Качи</font></a></li>
<li><a href="logout.php"><font color="#ffffff">Изход </font></a></li></ul>';
}
else {
?>

<div class="login_form" align="center">
<form  action="login.php" method="post">
<table align="right"> 
<tr><td>
<img src="potrebitel.png" width="55px" height="50px" /> <input type="text" size="15" maxlength="25" name="username">

<img src="password.png" width="50px" height="50px"/></font> <input type="password" size="15" maxlength="25" name="password1">
</td></tr>
<tr>
<td><div style="margin-left:160px;">
<a href="newpass.php" style="text-decoration:none;"><font style="margin-left:80px;" color="#ffffff">Забравена парола</font></a></div></td>
</tr>
<tr> 
<td align="center"> 
<div  style="margin-left:60px;"><input id="button" type="submit" name="login" value=""></div></td>
</tr>
<tr> 
<td align="center">
<a href="register.php" style="margin-left:50px; text-decoration:none;"><font color="#ffffff">Създай нов акаунт</font></a>
</td>
</tr>
</table> 
</form>
</div>

<?php
}
?>
<link rel='stylesheet' type='text/css' href='style/styles.css'>
logout
Код:
<?php
define('IN_VALID', true); 
include ("include/header.php");
$ses = session_id();
$q = mysql_query("SELECT * FROM `users` WHERE session='$ses'");
$r = mysql_num_rows($q);
if ($r != NULL) {
$name = mysql_result($q, "0", "username");
$q2 = mysqL_query("UPDATE `users` SET session='' WHERE username='$name'");
echo '<meta http-equiv="refresh" content="0; url=index.php">';
}
else {
echo "Не сте логнат";
}
?>
 
php_css каза:
http://web-tourist.net/login/login/view.php?st=2621

Най-лесния пример, за който се сещам е:
PHP:
	$ip = $_SERVER["REMOTE_ADDR"];
	$username = $_SESSION['username'];
	if (!isset($username)) {
		$username = "$ip";
		$guest = 1;
	}
	$past = time()-300;
	mysql_query("DELETE FROM online WHERE time < '$past'");
	$result = mysql_query("SELECT time FROM `online` WHERE username='$username'");
	$ctime = time();
	if ($username!="") {
		$username = substr("$username", 0,25);
		if ($row = mysql_fetch_array($result)) {
			mysql_query("UPDATE online SET username='$username', time='$ctime', host_addr='$ip', guest='$guest' WHERE username='$username'");
		} else {
			mysql_query("INSERT INTO online (username, time, host_addr, guest) VALUES ('$username', '$ctime', '$ip', '$guest')");
		}
	}

Слагаш този код примерно в config.php (примерно!!) във файла, който е include във всички файлове най-отгоре!

След това си вадиш резултата, където искаш с този код:

PHP:
<?php
echo "Онлайн";
   $user_online_num = mysql_numrows(mysql_query("SELECT username FROM online WHERE  guest='1'"));
   echo "Анонимни: <font color="red"><b>$user_online_num</b></font>
   <br />Регистрирани: ";
$sql = mysql_query("SELECT username, guest FROM online WHERE guest=0 AND username!='asd'");
$member_online_num = mysql_numrows($sql);
$who_online_now = "";
$i = 1;
	if ($member_online_num == 0 ){
		$who_online_now = "<font color="red"><b>няма</b></font>";
	} else {
	$who_online_now = "<div class="interval"> </div>";
		while ($online = mysql_fetch_array($sql)) {
		$username = $online['username'];
			if (isset($online["guest"]) and $online["guest"] == 0) {
				if ($i < 10) {
					$who_online_now .= "<b>0$i: <a href="user.php?id=$username"><b>$username</b></a></b>\n";
				} else {
					$who_online_now .= "<b>$i: <a href="user.php?id=$username"><b>$username</b></a></b>\n";
				}
				$i++;
			}
		}
	}
   echo "$who_online_now";
?>

sql.sql
Код:
CREATE TABLE IF NOT EXISTS `online` (
  `username` varchar(25) NOT NULL DEFAULT '',
  `time` varchar(14) NOT NULL DEFAULT '',
  `host_addr` varchar(48)  NOT NULL DEFAULT '',
  `guest` int(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`username`),
  KEY `time` (`time`),
  KEY `guest` (`guest`)
) ENGINE=MyISAM;
 

Back
Горе