webForumDet fria alternativet

Besökare just nu.

8 svar · 201 visningar · startad av Kent

KentMedlem sedan juli 2000355 inlägg
#1

Någon som vet hur man gör för att visa antalet besökare på en sida just nu, som dom har här på WF.?

Peter_BMedlem sedan apr. 2000642 inlägg
#2

för att göra det lätt för sig:

när en användare besöker en sida, lagra användarens unika id tillsammans med tiden (fås ur time() ), uppdatera gammal info om nödvändigt, samt rensa ut alla gamla användare som inte gjort nått på säg, 10 minuter, (time() - $usertime > 600)

då har du ju på ett ungefär hur många användare som är inne.

nån kod är jag för sömnig för att slänga ihop :)

------------------
PeterSign v 2.3.36

KentMedlem sedan juli 2000355 inlägg
#3

Du kan inte slänga ihop en snabb kod så jag får se på ett ungefär hur det kan se ut.

KentMedlem sedan juli 2000355 inlägg
#4

Ingen som kan skriva ihop ett snabbt exempel.
Är super tacksam för hjälp.

HansenMedlem sedan aug. 2000374 inlägg
#5

Hej Kent!

Kan och kan, detta borde vem som helst med lite grundläggande kunskap om perl och cgi klara av.

Räkna inte med att få färdiga script, om du försöker och inte lyckas, återvänd med din kod så ska vi hjälpa dig!

Här är en lite mer utförlig lösning på ditt problem:

  1. Läs in hela filen till en array.

  2. Lopa igenom arrayn och:
    Ta bort alla element där tiden är mindre än time() - 600
    Kolla om aktuellt ip finns i arrayen, isåfall uppdatera tiden.

  3. Spara listan till en fil.

  4. printa ut antal element i arrayn.

Lycka till!

------------------
Hansen
c.h@ngmedia.com

[Redigerat av Hansen den 24 jul 2001]

webmasterMedlem sedan aug. 2000190 inlägg
#6

Hej Kent!

Såg att det fanns två tidigare trådar som tar upp temat med besökare som är på en hemsida - just nu.
Prova och kika i någon av dem och se om de kan vara till någon hjälp. :)

Men du lär dig nog bäst genom att försöka själv så långt det går. (Även om det kan gå sakta framåt med vissa script :) )
http://cgi.webforum.nu/wf/Forum14/HTML/000289.html
http://cgi.webforum.nu/wf/Forum14/HTML/000358.html

[Redigerat av webmaster den 24 jul 2001]

KentMedlem sedan juli 2000355 inlägg
#7

Provade så här,
if ( $IP ne $ENV{'REMOTE_ADDR'} )
{
if ( time() - $TIME > 600)
) { print FILE "$IP\t$TIME\n"; }
}
då funkar det att visa hur många som är online om man uppdaterar typ var tionde sekund, men om man är 2 st online och den ena läser på en sida i kanske 2-3 minuter så räknar scriptet att det bara finns en online, hur fixar man till det?

Peter_BMedlem sedan apr. 2000642 inlägg
#8

känner mig lite osäker på detta:

if ( time() - $TIME > 600)
{ print FILE "$IP\t$TIME\n"; }
}

$TIME är ju mindre än time(), och ju längre tid som går destå större blir v.l.

vetkar som om scriptet bara skriver om man INTE varit inne de senaste 10 minutrarna? prova att vända på ">"-tecknet eller så.

------------------
PeterSign v 2.3.36

KentMedlem sedan juli 2000355 inlägg
#9

Har testat att vända på ">"-tecknet men det funkar inte ändå.

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)