P
pit.possum
Hintergrundfarbe soll schwarz bleiben beim Nachladen
Tach!
Ich möchte einen Counter einbinden, der die Anzahl der momentanen User einer Seite anzeigt. Also hab ich mir was passendes zusammengebastelt, das auch funktionert. Hier mal der Quelltext der Seite zum besseren Verständnis der Angelegenheit:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>User online</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF" leftmargin="0" topmargin="2" marginwidth="0" marginheight="0">
<div align="right"><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">
<?php
$access = time()-60;
$file = "useronline.txt";
$time = time();
$online = 0;
$ip=getenv("REMOTE_ADDR");
$array = @file($file);
for($x=0; $x<count($array); $x++){
$array2 = explode("|", $array[$x]);
if(in_array($ip, $array2)){
$check = true;
$array2[1] = $time."\n";
}
$array[$x] = join("|", $array2);
}
$array = join("", $array);
if($check == true){
$fp = fopen($file, "w");
fputs($fp, $array);
fclose($fp);
}
else{
$fp = fopen($file, "w");
fputs($fp, $array."\n".$ip."|".$time);
fclose($fp);
}
$array = @file($file);
for($x=0; $x<count($array); $x++){
$array2 = explode("|", $array[$x]);
if($array2[1] >= $access){
$online++;
}
}
echo $online;
?>
</font> </div>
<SCRIPT>
var limit="5:00"
if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
setTimeout("beginrefresh()",1000)
}
}
window.onload=beginrefresh
//-->
</SCRIPT>
</body>
</html>
Das ganze ist ein kleiner Frame, der immer angezeigt bleibt, daher habe ich zusätzlich auch noch ein Script reingebaut, dass den Frame alle 5 min aktualisiert, damit die Anzeige auch ständig ungefähr stimmt. Wie gesagt, das ganze funktioniert auch prima!
Jetzt zum eigentlichen Problem:
Beim Laden des Frames ist dieser weiss, er sollte jedoch schwarz sein.
Das bedeutet, dass bei jedem Nachladen ein hässlicher weisser Kasten zu sehen ist. Das möchte ich irgendwie verhindern.
Ich habe auch schon versucht, anstatt bgcolor=#000000 ein schwarzes .jpg als Hintergrund zu nehmen - das selbe Ergebnis.
Wenn ich eine "reine" html Seite reinsetze, dann geht es auch bestens (auch beim auto-refresh), es muss also an dem php Teil des Dokumentes liegen... denk ich mal.
Also wie kann ich das regeln? Wär nett, wenn jemand ne Lösung parat hätte, denn dann wäre die Site so gut wie fertig!
1000 thx,
pit.possum
Tach!
Ich möchte einen Counter einbinden, der die Anzahl der momentanen User einer Seite anzeigt. Also hab ich mir was passendes zusammengebastelt, das auch funktionert. Hier mal der Quelltext der Seite zum besseren Verständnis der Angelegenheit:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>User online</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF" leftmargin="0" topmargin="2" marginwidth="0" marginheight="0">
<div align="right"><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">
<?php
$access = time()-60;
$file = "useronline.txt";
$time = time();
$online = 0;
$ip=getenv("REMOTE_ADDR");
$array = @file($file);
for($x=0; $x<count($array); $x++){
$array2 = explode("|", $array[$x]);
if(in_array($ip, $array2)){
$check = true;
$array2[1] = $time."\n";
}
$array[$x] = join("|", $array2);
}
$array = join("", $array);
if($check == true){
$fp = fopen($file, "w");
fputs($fp, $array);
fclose($fp);
}
else{
$fp = fopen($file, "w");
fputs($fp, $array."\n".$ip."|".$time);
fclose($fp);
}
$array = @file($file);
for($x=0; $x<count($array); $x++){
$array2 = explode("|", $array[$x]);
if($array2[1] >= $access){
$online++;
}
}
echo $online;
?>
</font> </div>
<SCRIPT>
var limit="5:00"
if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
setTimeout("beginrefresh()",1000)
}
}
window.onload=beginrefresh
//-->
</SCRIPT>
</body>
</html>
Das ganze ist ein kleiner Frame, der immer angezeigt bleibt, daher habe ich zusätzlich auch noch ein Script reingebaut, dass den Frame alle 5 min aktualisiert, damit die Anzeige auch ständig ungefähr stimmt. Wie gesagt, das ganze funktioniert auch prima!
Jetzt zum eigentlichen Problem:
Beim Laden des Frames ist dieser weiss, er sollte jedoch schwarz sein.
Das bedeutet, dass bei jedem Nachladen ein hässlicher weisser Kasten zu sehen ist. Das möchte ich irgendwie verhindern.
Ich habe auch schon versucht, anstatt bgcolor=#000000 ein schwarzes .jpg als Hintergrund zu nehmen - das selbe Ergebnis.
Wenn ich eine "reine" html Seite reinsetze, dann geht es auch bestens (auch beim auto-refresh), es muss also an dem php Teil des Dokumentes liegen... denk ich mal.
Also wie kann ich das regeln? Wär nett, wenn jemand ne Lösung parat hätte, denn dann wäre die Site so gut wie fertig!
1000 thx,
pit.possum
Zuletzt bearbeitet von einem Moderator: