PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Adminsonlinescript


n4pO
08.02.2004, 19:01:38
Hi hab mich an nem Adminonlinescript versucht, dass mit einer *.dat Datei arbeitet und nicht die Anzahle der Admins, die online sind, anzeigt, sondern die Namen der Admins (über Sessions) die sich gerade auf der Seite aufhalten...

Irgendwie bekomm ich das explode net in da da mir das so script so ausgegeben wird:

Admin|212113313(aktuelle zeit)...es soll aber nur Admin dastehen..


$datei = "adminuser.dat";
$users = file($datei);

$gefunden = false;



$fp = fopen($datei, "w");

foreach($users as $user)
{
$user = explode("|", $user);
if ($user[1]+300 < time())
{
$user--;
continue;
}
elseif ($user[0] == $_SESSION['username'])
{
$user[1] = time();
$gefunden = true;
}
$user = trim(implode("|", $user))."n";

fputs($fp, $user);
}

if (!$gefunden)
{
fputs($fp, $_SESSION['username']."|".time()."n");
$user++;
}

fclose($fp);

// Ausgabe
for($i=0;$i<count($user);$i++)

{

$user[$i] = explode("|".time()."n".$user[$i]);

}

for($i=0;$i<count($user);$i++)

{

echo $user." sind online.";

}

?>


Vielleicht könntet ihr mir ja mal nen Tip geben ;D.

Danke schon im voraus...

mfg n4pO

chris17
09.02.2004, 01:22:10
<?php
/*
Ist sicher, dass in $_SESSION['username'] auch das
gewuenschte drin steht?
*/
session_start();
var_dump($_SESSION); # Einfach mal rei'gucke
session_destroy();
echo '<hr>';
/*
Du machst dir das Leben mit der Variable "$user" schwer.
Die muss ja einiges mitmachen...

Sorg' dafuer, dass einzig und allein in der "adminuser.dat" saubere
und aktuelle Daten drin stehen, und gut ist.

*/
#error_reporting(E_ALL);
$datei = 'adminuser.dat';
$users = file($datei);
$admins_online = array();

for ($i = 0; $i < count($users); $i++) {
$tmp = explode('|', $users[$i]);
if ($tmp[1] > time() - 300) {
$admins_online[] = $tmp[0];
}
}
echo count($admins_online).' Admins sind online:<br>';
for ($i = 0; $i < count($admins_online); $i++) {
echo $admins_online[$i].'<br>';
}
#print_r($admins_online);