_TT_ Skrevet 22. april 2004 Del Skrevet 22. april 2004 Lurte på om det er vanskelig å lage et slikt online script på siden, der man ser hvor mange gjester og hvor mange brukere som er inne på siden? Tenker det er enkelt å legge til etterhvert som de kommer inn på siden, men hvordan gjør man slik at de blir fjernet da de lukker browseren? Lenke til kommentar
Torbjørn Skrevet 22. april 2004 Del Skrevet 22. april 2004 <mode="flisespikkete"> hva er "å være inne på siden" hvordan kan du vite at en bruker sitter og titter på din side? Det tar bare et par sekunder å hente ned en side. Om han sitter og leser på den i 10 minuter eller om han lukker den med en gang kan du umulig vite. Viktig å være klar over. En protokollbegrensning i HTTP. <mode="hjelpsom"> lag en tabell med URL og tidspunkt og brukernavn, hvor du registrerer alle sidetreff, så kan du hente ut foreksempel alle brukernavn fra siste 5 minutter og anta at de sitter og browser på sidene. Lenke til kommentar
am3k Skrevet 22. april 2004 Del Skrevet 22. april 2004 Hva med noe slikt? Om ønskelig kan du legge ut $timer og $filename i egen fil og legge disse til via include. ------------------------ <?php $timer = 2; //Hvor ofte siden skal oppdateres med brukere online, i minutter. $filename = "logg2.txt"; // Filen hvor all data skrives til. if (!$datei) $datei = dirname(__FILE__)."/$filename"; $time = @time(); $ip = $REMOTE_ADDR; $string = "$ip|$time\n"; $a = fopen("$filename", "a+"); fputs($a, $string); fclose($a); $timeout = time()-(60*$timer); $all = ""; $i = 0; $datei = file($filename); for ($num = 0; $num < count($datei); $num++) { $pieces = explode("|",$datei[$num]); if ($pieces[1] > $timeout) { $all .= $pieces[0]; $all .= ","; } $i++; } $all = substr($all,0,strlen($all)-1); $arraypieces = explode(",",$all); $useronline = count(array_flip(array_flip($arraypieces))); if ($useronline == 0) { $useronline = 1; } echo $useronline; $dell = ""; for ($numm = 0; $numm < count($datei); $numm++) { $tiles = explode("|",$datei[$numm]); if ($tiles[1] > $timeout) { $dell .= "$tiles[0]|$tiles[1]"; } } if (!$datei) $datei = dirname(__FILE__)."/$filename"; $time = @time(); $ip = $REMOTE_ADDR; $string = "$dell"; $a = fopen("$filename", "w+"); fputs($a, $string); fclose($a); ?> Lenke til kommentar
_TT_ Skrevet 22. april 2004 Forfatter Del Skrevet 22. april 2004 (endret) hva er "å være inne på siden" hvordan kan du vite at en bruker sitter og titter på din side? Det var jo akkurat det eg spurde om hvordan man lager. Har sett sider med oversikt over hvor mange brukere som er på siden. Forumet her har jo det også; hvilke brukere leser dette emnet akkurat nå, og hvor mange gjester... Endret 22. april 2004 av _TT_ Lenke til kommentar
am3k Skrevet 22. april 2004 Del Skrevet 22. april 2004 Forumet her baserer seg, som forslaget mitt, på php. Men en vil ha behov for å legge inn en "tidsluke" Lenke til kommentar
Torbjørn Skrevet 22. april 2004 Del Skrevet 22. april 2004 _TT_: dette kan man per def umulig vite pga hvordan HTTP fungerer. selvom det står her at du leser denne tråden kan jeg umulig vite om du har html fra denne url'en oppe i din nettleser eller ikke. HTTP sender bare over et dokument og bryter forbindelsen, ikke noen form for kontinuerlig forbindelse som blir brutt først når du surfer videre. Lenke til kommentar
am3k Skrevet 22. april 2004 Del Skrevet 22. april 2004 Forumet her baserer seg, som forslaget mitt, på php. Men en vil ha behov for å legge inn en "tidsluke" Lenke til kommentar
_TT_ Skrevet 22. april 2004 Forfatter Del Skrevet 22. april 2004 (endret) selvom det står her at du leser denne tråden kan jeg umulig vite om du har html fra denne url'en oppe i din nettleser eller ikke. HTTP sender bare over et dokument og bryter forbindelsen, ikke noen form for kontinuerlig forbindelse som blir brutt først når du surfer videre. Det går ikke, men det er sider som viser det? Forumet her baserer seg, som forslaget mitt, på php. Men en vil ha behov for å legge inn en "tidsluke" Tidsluke? Endret 22. april 2004 av _TT_ Lenke til kommentar
am3k Skrevet 22. april 2004 Del Skrevet 22. april 2004 Glem det, se dømet mitt. *roter videre i mitt eget lille hode* Lenke til kommentar
???????? Skrevet 22. april 2004 Del Skrevet 22. april 2004 Det går ikke, men det er sider som viser det? Du kan lage et javascript for å vite når folk går ut av siden, men mange har ikke javascript enabeld. Det er fult mulig å lage et slik script, men de bygger ofte på at en bruker "er" på side i 5 min etter siste åpning av siste side. Dvs. en bruker som har forlatt siden ser fortsatt ut som den er der i f.eks. 5 min etter denne brukeren åpnet forrige side. Lenke til kommentar
Torbjørn Skrevet 22. april 2004 Del Skrevet 22. april 2004 _TT_: hva en side sier at den viser er vel uvesentlig? Ingenting iveien for at jeg kan si at Kong Harald er inne og ser på siden min nederst på siden. Man bruker en antagelse, skissert slik jeg sier først og implementert (sannsynligvis) slik am3k sier, basert på et tidsvindu. foreksempel kan man anta at 5 minutter besøkningstid. Eller man kan konsekvent vise siste side en registrert bruker var inne på som den siden han er på nå. Lenke til kommentar
Nervetattoo Skrevet 22. april 2004 Del Skrevet 22. april 2004 (endret) Slike online saker baserer seg gjerne på når en person, eller mer korrekt agent, i form av en nettleser som explorer mozilla eller opera, går inn på siden din så blir den registrert. Du regnes da som en som er "online". Siden man ikke kan vite om en person faktisk er online setter man som oftest et tidsrom hvor man regner brukeren som fremdeles "online" på siden. Når dette tidsrommet har gått ut avregistreres man som "online". For hver gang brukeren klikker på en link på siden setter man tidsrommet fra det tidspunktet han klikket på linken i. Det viser ikke hvor mange som faktisk er online, men det gir en viss pekepinn ut i fra noen besteme antagelser. Om du skjønner hva jeg mener. Er det vanskelig å lage, nei ikke noe særlig for et enkelt et. Edit: Brukte vist litt for lang tid på å poste så torbjørn kom meg i forkjøpet, jaja. Endret 22. april 2004 av Findus Lenke til kommentar
???????? Skrevet 22. april 2004 Del Skrevet 22. april 2004 Et slikt system er lett å lage, du har sikkert en teller på siden din som registrerer tide de åpnet en side. Hvis du ikke har det er det også lett å lage. Tell antall rader der tiden er mindre enn 5 min siden (5 min er kanskje litt lenge?) og grupper etter f.eks. id - eller du kan telle unike ip adresser de siste 5 minuttene. For å få logget inn kan du f.eks. legge til et felt i tabellen eller linke det sammen med ip adressene som har logget seg inn. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå