Кои потребители са онлайн

3BepckyBkyceH

Registered
Добър ден имам нужда от малко помощ мъча се с този код http://web-tourist.net/login/login/view.php?st=1187
създал съм в базата данни таблицата с има timestamp обаче когато се логна с име и парола не записва времето в timestamp и когато отида на mysite.com/onlineusers.php не ми изкарва никаква информация стои бял фон
 
аз съм го направил по следния начин
Код:
$sessions = $_SESSION['user'];
$sega = time();
mysql_query("UPDATE `members` SET timeonline='$sega'  WHERE user='$sessions'")or die(mysql_error());
с този код обновявам записа на последно посещение
а с това проверявам кой е на линия
Код:
$timera = time()-600;
$query = mysql_query("SELECT * FROM `members` WHERE timeonline >$timera ")
or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query))
{
        $ime = $row['user'];
        $id = $row['id'];
        echo '<a href="myprofil.php?id='.$id.'"><b>'.$ime.'</b></a>,';
}
да не забравя и това при изход
Код:
$sql= mysql_query("UPDATE `members` SET timeonline='".$sega."' WHERE user = '".$who."'");
 
това го слагаш най отгоре в всяка страница
Код:
$sessions = $_SESSION['[color=red]user[/color]'];
$sega = time();
mysql_query("UPDATE `members` SET timeonline='$sega'  WHERE user='$sessions'")or die(mysql_error());
като това в червеното го сменяш с каквато сесия ползваш

а с това се проверява кой е на линия просто го слагаш там където искаш да се показва
Код:
$timera = time()-600;
$query = mysql_query("SELECT * FROM `members` WHERE timeonline >$timera ")
or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query))
{
        $ime = $row['user'];
        $id = $row['id'];
        echo '<a href="myprofil.php?id='.$id.'"><b>'.$ime.'</b></a>,';
}

това го слагаш в файла за логаут
Код:
$sql= mysql_query("UPDATE `members` SET timeonline='".$sega."' WHERE user = '".$who."'");
[/quote]
ако не си разбрал питай
 
направих го така
$sessions = $_SESSION['username'];
$sega = time();
mysql_query("UPDATE `users` SET timestamp='$sega' WHERE username='$sessions'")or die(mysql_error());
добавих го в login.php и в members.php обаче пак в базата данни при timestamp не се записва нищо
 
3BepckyBkyceH каза:
направих го така
$sessions = $_SESSION['username'];
$sega = time();
mysql_query("UPDATE `users` SET timestamp='$sega' WHERE username='$sessions'")or die(mysql_error());
добавих го в login.php и в members.php обаче пак в базата данни при timestamp не се записва нищо
Някой готов цмс ли ползваш или е авторски ?
Това го добавяш в файл който се инклудва на всяка страница
пробвай така и кажи какво ти изкарва
PHP:
$sessions = $_SESSION['username'];
$sega = time();
mysql_query("UPDATE `users` SET timestamp='$sega' WHERE username='$sessions'")or die(mysql_error());
echo "".$sega.", ".$sessions."";
 
поставих го но сега над username и password ми излиза това 1349000162,
пс. сайта е авторски
сесите при мен са
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
 
$sql = "UPDATE users SET timestamp = $timestamp WHERE id = $id";
if ( !($result = $db->sql_query($sql)) ) {
message_die(GENERAL_ERROR, 'Could not update users table', '', __LINE__, __FILE__, $sql);
}
по този начин дали няма да стане?
 
3BepckyBkyceH каза:
поставих го но сега над username и password ми излиза това 1349000162,
пс. сайта е авторски
сесите при мен са
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
аз бях до тук ползваш бисквитки не сесии
 
минах на нов логин става въпрос за phplogin_v2.3
той при логин записва времето
//update the timestamp and key for cookie
$stamp = time();
$ckey = GenKey();
mysql_query("update users set `ctime`='$stamp', `ckey` = '$ckey' where id='$id'") or die(mysql_error());

//set a cookie

if(isset($_POST['remember'])){
setcookie("user_id", $_SESSION['user_id'], time()+60*60*24*COOKIE_TIME_OUT, "/");
setcookie("user_key", sha1($ckey), time()+60*60*24*COOKIE_TIME_OUT, "/");
setcookie("user_name",$_SESSION['user_name'], time()+60*60*24*COOKIE_TIME_OUT, "/");
трябва ми само файл който да изкарва онлайн потребителите
 

Back
Горе