редакция на код .. потребители онлайн

Frapety

Registered
е момента изкарва "Онлайн: имената" а аз искам да пише преди имената колко са онлайн потребители и гости
4 потребителя и 2 гости са онлайн
<?php
echo "<hr>";
echo _USERON_;
$sese = $_SESSION['username'];
$sespass = $_SESSION['password'];
$time=time();
$query = "UPDATE users SET lastonline='$time' WHERE username='$sese' and password='$sespass'";
$result = mysql_query($query);
$lastonline=time()-20;
$query1 = "SELECT * FROM users WHERE lastonline>'$lastonline'";
$result1 = mysql_query($query1) or die (mysql_error());
while($row = mysql_fetch_array($result1, MYSQL_ASSOC))
{
$rname = $row['username'];
$idup = $row['id'];
$leel = $row['level'];
if ($leel == 0) { $rag = "<font title='Потребител'>$rname</font>"; }
elseif ($leel == 1) { $rag = "<font color='gray' title='Бот'>$rname</font>"; }
elseif ($leel == 2) { $rag = "<font color='#146F54' title='Модератор'>$rname</font>"; }
elseif ($leel == 3) { $rag = "<font color='#aa0033' title='Админ'>$rname</font>"; }
echo "<b>  <a href='$site_url/$row[username]' style='text-decoration: none;'>$rag </a></b>\r\n";
}
?>
 
Frapety каза:
е момента изкарва "Онлайн: имената" а аз искам да пише преди имената колко са онлайн потребители и гости
4 потребителя и 2 гости са онлайн
<?php
echo "<hr>";
echo _USERON_;
$sese = $_SESSION['username'];
$sespass = $_SESSION['password'];
$time=time();
$query = "UPDATE users SET lastonline='$time' WHERE username='$sese' and password='$sespass'";
$result = mysql_query($query);
$lastonline=time()-20;
$query1 = "SELECT * FROM users WHERE lastonline>'$lastonline'";

$result1 = mysql_query($query1) or die (mysql_error());
$num = mysql_num_rows($result1);
while($row = mysql_fetch_array($result1, MYSQL_ASSOC))
{
$rname = $row['username'];
$idup = $row['id'];
$leel = $row['level'];
if ($leel == 0) { $rag = "<font title='Потребител'>$rname</font>"; }
elseif ($leel == 1) { $rag = "<font color='gray' title='Бот'>$rname</font>"; }
elseif ($leel == 2) { $rag = "<font color='#146F54' title='Модератор'>$rname</font>"; }
elseif ($leel == 3) { $rag = "<font color='#aa0033' title='Админ'>$rname</font>"; }
echo "<b>  <a href='$site_url/$row[username]' style='text-decoration: none;'>$num $rag </a></b>\r\n";
}
?>
 
lam3r4370 каза:
Frapety каза:
е момента изкарва "Онлайн: имената" а аз искам да пише преди имената колко са онлайн потребители и гости
4 потребителя и 2 гости са онлайн
<?php
echo "<hr>";
echo _USERON_;
$sese = $_SESSION['username'];
$sespass = $_SESSION['password'];
$time=time();
$query = "UPDATE users SET lastonline='$time' WHERE username='$sese' and password='$sespass'";
$result = mysql_query($query);
$lastonline=time()-20;
$query1 = "SELECT * FROM users WHERE lastonline>'$lastonline'";

$result1 = mysql_query($query1) or die (mysql_error());
$num = mysql_num_rows($result1);
while($row = mysql_fetch_array($result1, MYSQL_ASSOC))
{
$rname = $row['username'];
$idup = $row['id'];
$leel = $row['level'];
if ($leel == 0) { $rag = "<font title='Потребител'>$rname</font>"; }
elseif ($leel == 1) { $rag = "<font color='gray' title='Бот'>$rname</font>"; }
elseif ($leel == 2) { $rag = "<font color='#146F54' title='Модератор'>$rname</font>"; }
elseif ($leel == 3) { $rag = "<font color='#aa0033' title='Админ'>$rname</font>"; }
}
echo "<b>  <a href='$site_url/$row[username]' style='text-decoration: none;'>$num $rag </a></b>\r\n";
?>

Така?
Няма как да пише колко гости са онлайн
 
и не се показват цветовете на имената а и защо да няма как да изкара кои са гости, тези които не са логнати
 
lam3r4370 каза:
lam3r4370 каза:
Frapety каза:
е момента изкарва "Онлайн: имената" а аз искам да пише преди имената колко са онлайн потребители и гости
4 потребителя и 2 гости са онлайн

Така?
Няма как да пише колко гости са онлайн
Така ще стане Ти никъде не записваш гостите значи няма как да стане ,освен с ип-та
 
така се оправи но моля те как да го направя да записва и гостите някъде в .txt файл ако трябва за да изписва и гостите

с голямо желание ще ти дам + :) :)
 
Ами сега имам работа ,но след като се върна ще ти покажа трябва ти mysql.Таблица ip колони ip VARCHAR(255) и mode VARCHAR(255) във ip записваш $ip = $_SERVER['REMOTE_ADDR'];
$mode така за него със един if(!isset($_SESSION['username'])) {
$mode = "guest";
}
сложи и session_start(); след отварящият таг <?php
и го инсъртваш $sql = mysql_query("INSERT INTO ip(ip,mode) VALUES('$ip','$mode')") or die(mysql_error);
след това $sel = mysql_query("SELECT * FROM ip WHERE mode = 'guest'") or die(mysql_error());
после echo mysql_num_rows($sel);
и ще ти изпише колко гости има.Ще ти напиша целия скрипт след като се върна,че имам работа
 
ами тези ИП та в база данни как ще ги чистя? нямал ида се натрупат излишни записи :( предпочитам в едно .txt файлче да се запистат гостите най-добре :)
 
еи не ми се иска да е така с база данни за гостите с .tt файл е добре според мен но дано ламер4ето се съгласи
 
Не мога да работя с txt :( :cry:
<?php
session_start();
$ip = $_SERVER['REMOTE_ADDR'];
if(!isset($_SESSION['username'])) {
$mode = "guest";
$time = time();
$sql = mysql_query("INSERT INTO ip(ip,mode) VALUES('$ip','$mode')");
$query = mysql_query("UPDATE ip SET lastonline='$time' WHERE ip = '$ip'") or die(mysql_error());
$lastonline=time()-20;
$query1 = mysql_query("SELECT * FROM ip WHERE lastonline>'$lastonline'") or die(mysql_error());
}
$gnum = mysql_num_rows($query1);
echo $gnum;
?>
 
може ли да ми кажеш само как да ги метна заедно колко са :) готите и потребителите
и имам проблем това като е логна и не мога да видя колко а готите :cry:
 
Оу да.Заедно да сметне добавяш echo "Общо".$num+$gnum;
т.е ще стане:Също и в този код ,който сега ти давам ще показва гостите ,когато си логнат също просто съм го сложил във проверката ако не си логнат какво да прави + сега ще маха излишните записи.Т.е ако гостът не е активен 20 мин ще го изтрива от БД
<?php
session_start();
$ip = $_SERVER['REMOTE_ADDR'];
if(!isset($_SESSION['username'])) {
$mode = "guest";
}
if(isset($_SESSION['username']) {
}
$time = time();
$sql = mysql_query("INSERT INTO ip(ip,mode) VALUES('$ip','$mode')");
$query = mysql_query("UPDATE ip SET lastonline='$time' WHERE ip = '$ip'") or die(mysql_error());
$lastonline=time()-20;
$query1 = mysql_query("SELECT * FROM ip WHERE lastonline>'$lastonline'") or die(mysql_error());
$query3 = mysql_query("DELETE FROM ip WHERE lastonline<'$lastonline' ") or die(mysql_error());
$gnum = mysql_num_rows($query1);
echo $gnum;
echo "Общо".$num+$gnum;

?>

забравих да ти кажа да си направиш поле lastonline ,но ти сигурно си си го направил ,защото е давало грешка
 
сега пуснах тема за това но се сетих че с този код ще стане най добре ? хайде да ми помогнеш този общия резултат
дето ги съгирам гостите и потребителите да го запише в СЯЛ кога са били най много

Най-много са били онлайн на: Септември 9, 2009 13:31


моля те :cry:
 

Back
Горе