22. september 2005 - 12:44Der er
6 kommentarer og 1 løsning
onlineliste og online tæller
Hej igen...
hvordan laver jeg en online liste hvor man kan se brugernavne på dem som der er online men de skal også makeres som links. der må max være 50 profiler pr. side...
og hvordan laver jeg en online tæller som kun viser dem der er logget ind
hvis ik kan hjælpe mig med de script vil jeg blive meget glad...
Det kan man da også lave, denne her printer alle ud i en lang liste, samt at den ikke viser dem på listen hvis de ikke har været online i 5 min. smart ikk' :)
<?php include "mysql.php";
$ip = $_SERVER['REMOTE_ADDR'];
$tjek_ip = mysql_query("SELECT COUNT(*) AS antal FROM online WHERE ip='$ip'") or die(mysql_error());
if(!mysql_result($tjek_ip,0)) { mysql_query("INSERT INTO online (time, ip) VALUES (NOW(),'$ip')") or die(mysql_error()); } else { mysql_query("UPDATE online SET time=NOW() WHERE ip='$ip'") or die(mysql_error()); }
mysql_query("DELETE FROM online WHERE date_add(time,interval 5 MINUTE) < NOW()") or die(mysql_error());
$antal_online = mysql_query("SELECT COUNT(*) AS antal FROM online") or die(mysql_error());
echo "Der er lige nu ".mysql_result($antal_online,0)." online"; ?>
Det var koden, tabellen så således ud:
CREATE TABLE `online` ( `id` int(11) NOT NULL auto_increment, `time` datetime NOT NULL default '0000-00-00 00:00:00', `ip` varchar(20) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=1 ;
Det med at se om en bruger er online, er svært! Men man plejer at lave en løsning, hvor man opdatere en tabel, når en bruger logger ind. Og alle brugere som så har været logget ind inden for 10 eller 5 eller hvad du nu synes minutter, antager vi er online. Så du skal have en tabel hvor du gemmer disse info. Har du allerede login system?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.