Avatar billede hyanen Nybegynder
30. april 2006 - 18:02 Der er 9 kommentarer og
2 løsninger

Online brugere

er der en som har/kan lave et script der viser hvor mange der er online, og hvem der er online

måden det skal virke på er at den gemmer id'et på brugerne der er online, og evt brugernavnet

på min side gemmer jeg navn id osv i sessions
Avatar billede fire-fox Nybegynder
30. april 2006 - 21:20 #1
Onlineuser.php
<?
mysql_connect("localhost", "brugernavn", "kodeord");
mysql_select_db("database");

function ShowUsers() {

    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE date < $usersec -100");
    $countusers    = mysql_fetch_array(mysql_query("SELECT count(*) as total FROM online_users"));
   
    print ('<table border="0" BGCOLOR="#000000" CELLSPACING="1">');
    print ('<tr><td BGCOLOR="#FFFFFF" COLSPAN="4"><B><font color="#727272"><center>Users online: '.$countusers[total].'</center></font></B></td></tr>');
    print ('<tr>');
    print ('<td BGCOLOR="#FFFFFF"><B><center>Ip:</center></B></td>');
    print ('<td BGCOLOR="#FFFFFF"><B><center>Host:</center></B></td>');
    print ('<td BGCOLOR="#FFFFFF"><B><center>Browser:</center></B></td>');
    print ('</tr>');
   
    $result = mysql_query("SELECT * FROM online_users");
    while ($row = mysql_fetch_array($result)) {
        print ('<tr>');
        print ('<td bgcolor="#FFFFFF"><small>'.$row[ip].'</small></td>');
        print ('<td bgcolor="#FFFFFF"><small>'.$row[host].'</small></td>');
        print ('<td bgcolor="#FFFFFF"><small>'.$row[page].'</small></td>');
        print ('</tr>');
    }
    print ('</table>');

}

showUsers();
?>

triguser.php ( Har bare lavet den som include funktion )
<?

mysql_connect("localhost", "brugernavn", "kodeord");
mysql_select_db("database");

function InsertUser() {
    global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF;
   
    $ip            = $REMOTE_ADDR;
    $host          = gethostbyaddr($ip);
    $browser        = $HTTP_USER_AGENT;
    $page          = $PHP_SELF;
    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE ip like '$ip'");
    mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')");
}
InsertUser();
?>

Håber det hjælper dig :-)
Avatar billede fire-fox Nybegynder
30. april 2006 - 21:22 #2
ups glemte lige at sige at triguser.php den skal i i toppen af alle dine filer

<?php include ("triguser.php"); ?>
Avatar billede hyanen Nybegynder
12. maj 2006 - 18:58 #3
undskyld have glemt jeg havde oprettet dette spørgsmål doh :p

prøver det lige når jeg kommer hjem engang på søndag

men det ser lovende ud ;)
Avatar billede fire-fox Nybegynder
13. maj 2006 - 02:35 #4
det virker jeg bruger det selv :D
Avatar billede hyanen Nybegynder
13. maj 2006 - 17:42 #5
Hmm hvordan skal mysql tabellen se ud?
Avatar billede fire-fox Nybegynder
13. maj 2006 - 21:33 #6
heysan, jeg finder lige mysql. jeg ved godt jeg glemte den, min server har vært brækket ned.....

CREATE TABLE `online_users` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(255) collate latin1_general_ci NOT NULL default '',
  `host` varchar(255) collate latin1_general_ci NOT NULL default '',
  `date` int(11) NOT NULL default '0',
  `browser` varchar(255) collate latin1_general_ci NOT NULL default '',
  `page` varchar(255) collate latin1_general_ci NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=15242
Avatar billede fire-fox Nybegynder
13. maj 2006 - 21:38 #7
<HTML>
<HEAD>
<TITLE>Untitled Document</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<?PHP
mysql_connect("localhost", "test", "test");
mysql_select_db("test");

/*
    Mysql Dump
   
    CREATE TABLE online_users (
      id int(11) NOT NULL auto_increment,
      ip varchar(255) NOT NULL default '',
      host varchar(255) NOT NULL default '',
      date int(11) NOT NULL default '0',
      browser varchar(255) NOT NULL default '',
      page varchar(255) NOT NULL default '',
      PRIMARY KEY  (id)
    ) TYPE=MyISAM;
*/

function ShowUsers() {

    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE date < $usersec -100");
    $countusers    = mysql_fetch_array(mysql_query("SELECT count(*) as total FROM online_users"));
   
    print ('<table border="0" BGCOLOR="#000000" CELLSPACING="2">');
    print ('<tr><td BGCOLOR="#008000" COLSPAN="4"><B><font color="#ffffff">Users online: '.$countusers[total].'</font></B></td></tr>');
    print ('<tr>');
    print ('<td BGCOLOR="#FFFFFF"><B>Ip</B></td>');
    print ('<td BGCOLOR="#FFFFFF"><B>Host</B></td>');
    print ('<td BGCOLOR="#FFFFFF"><B>Browser</B></td>');
    print ('<td BGCOLOR="#FFFFFF"><B>Side</B></td>');
    print ('</tr>');
   
    $result = mysql_query("SELECT * FROM online_users");
    while ($row = mysql_fetch_array($result)) {
        print ('<tr>');
        print ('<td bgcolor="#FFFFFF"><small>'.$row[ip].'</small></td>');
        print ('<td bgcolor="#FFFFFF"><small>'.$row[host].'</small></td>');
        print ('<td bgcolor="#FFFFFF"><small>'.$row[browser].'</small></td>');
        print ('<td bgcolor="#FFFFFF"><small>'.$row[page].'</small></td>');
        print ('</tr>');
    }
    print ('</table>');

}


/* dette skal indsættes på alle undersider */
function InsertUser() {
    global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF;
   
    $ip            = $REMOTE_ADDR;
    $host          = gethostbyaddr($ip);
    $browser        = $HTTP_USER_AGENT;
    $page          = $PHP_SELF;
    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE ip like '$ip'");
    mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')");
}
InsertUser();
/* her til */


showUsers();

/* Udskriver koden */
print ("<hr>");
show_source(basename($PHP_SELF));
?>
</BODY>
</HTML>


CREATE TABLE online_users (
      id int(11) NOT NULL auto_increment,
      ip varchar(255) NOT NULL default '',
      host varchar(255) NOT NULL default '',
      date int(11) NOT NULL default '0',
      browser varchar(255) NOT NULL default '',
      page varchar(255) NOT NULL default '',
      PRIMARY KEY  (id)
    ) TYPE=MyISAM;

-- INSTALLER --
Linie 25-77 = Dette placeres der hvor man gerne vil have udskrevet tabellen med hvem der er online
Linie 56-68 = Dette indsættes på alle de sider, som man gerne vil holde øje med
Linie 75-77 = Denne kode udskriver hele scriptet
Avatar billede hyanen Nybegynder
14. maj 2006 - 10:42 #8
Kanon det virker som det skal ;) og lidt bedre :)

ligger du et svar
Avatar billede fire-fox Nybegynder
14. maj 2006 - 15:22 #9
Svar :-)
Avatar billede fire-fox Nybegynder
14. maj 2006 - 15:23 #10
Svar :-)
Avatar billede fire-fox Nybegynder
14. maj 2006 - 15:23 #11
her
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester