Avatar billede petersen2 Nybegynder
29. marts 2002 - 12:28 Der er 6 kommentarer

Brugere Online

hej jeg vil på min hjemmeside gerne se hvor mange brugere der er online lige nu har i evt. et script så det kan lade sig gøre? jeg vil ikke have en counter hos fx. chart.dk.
Avatar billede freeman Nybegynder
29. marts 2002 - 12:31 #1
gå ind på www.netcoders.dk og find en ASP eller PHP script som kan klare det...
Avatar billede whatever Nybegynder
29. marts 2002 - 12:32 #2
Du kan finde en tutorial til dette her:

http://activedeveloper.dk/aspdigital/2001060701.asp
Avatar billede 0ffline Nybegynder
29. marts 2002 - 12:33 #3
Tilføj følgende kode i din "global.asa"-fil:


Sub Application_OnStart
Application("visits") = 0
Application("Active")= 0
End Sub
Sub Application_OnEnd
End Sub

Sub Session_OnStart
Session.Timeout = 1
Session("Start")=Now
Application.lock
Application("visits")= Application("visits") + 1
int_TotalVisitors = Application("visits")
Application.unlock
Session("VisitorID") = int_TotalVisitors
Application.lock
Application("Active")= Application("Active") + 1
Application.unlock
End Sub

Sub Session_OnEnd
Application.lock
Application("Active")= Application("Active") - 1
Application.unlock
End Sub



Eksempel på sideteksten som kalder oplysningerne fra ovennævnte fil:


<font="arial">
Der er pt. <%=Application("Active")%> aktive besøgende.<br>
Dit besøg her på siden startede kl. <%= Session("Start") %><br>
Der har i alt været <%=Session("VisitorID")%> besøgende.<br>
</font>


Lånt fra egenhjemmeside.dk

/0ffline
Avatar billede nielsgron Nybegynder
29. marts 2002 - 12:59 #4
Skal det være i ASP eller PHP?

Hvis PHP, så tjek lige www.phpuniverset.dk's sourcecodes.
Avatar billede nielsgron Nybegynder
29. marts 2002 - 13:05 #5
Dette er i PHP:

<?
$server = "_SERVER_";
$db_user = "_BRUGERNAVN_";
$db_pass = "_PASSWORD_";
$database = "_DATABASE_";
//Variabler
$timeoutseconds = 300; //"sekunder til man ser om en bruger er gået"

$timestamp = time();
$timeout = $timestamp-$timeoutseconds; //til at se om brugeren stadig er på

  mysql_connect($server, $db_user, $db_pass);
  mysql_select_db($database);
  $insert = mysql_db_query($database, "INSERT INTO useronline
            VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')"); //skriver i tabellen useronline
  if(!($insert)) {                            //hvis ikke
    print "Useronline Insert Failed > ";
  }
$delete = mysql_db_query($database, "DELETE FROM useronline WHERE timestamp<$timeout"); //sletter brugere der ikke er på mere
  if(!($delete)) {
    print "Useronline Delete Failed > ";
  }
$result = mysql_db_query($database, "SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'"); //$result får indholdet af kolonnen ip i tabellen useronline
  if(!($result)) {
    print "Useronline Select Error > ";
  }
$user = mysql_num_rows($result); //$user tæller hvor mange regler $result indeholder

mysql_close();
if($user == 1) { // hvis bare 1
  print"$user person er online<br>";
} else { // hvis flere
  print"$user personer er online<br>";
}
?>
Avatar billede nielsgron Nybegynder
02. april 2002 - 16:12 #6
Halloooooooooooooooooooo
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
Computerworld tilbyder specialiserede kurser i database-management

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