WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Att kunna se besökarens IP (https://www.wn.se/forum/showthread.php?t=10208)

Davve 2005-10-07 15:15

Jag vill lägga en liten kodsnutt på alla undersidor på en webbsida som läser av de som är online just nu, sen på admin delen vill jag kunna se IP adressen på de som är nu online, gärna mer information om så går än bara IP, kanske landsdel, ISP osv, så mycket som möjlig. Mina sidor är i ASP. Går detta på något smidigt sätt att fixa?

/David

Springbeat 2005-10-07 15:27

Kod:

<%Response.Write(Request.ServerVariables("remote_addr"))%>

Ett tips, Google om olika asp kurser

Davve 2005-10-07 15:43

Tack, men att visa variabler vet jag hur jag gör. Det jag inte kommer på är hur jag ska göra för att kunna visa alla som är online med den informationen i admin, utan att den info syns på webbplatsen. Om jag inkluderar en fil i alla undersidor idag som heter säg "minstatistik.asp" och skriver ut variabeln där så kommer den ju visas för alla på alla undersoidor.

Nåt förslag, det är säkert jätte enkelt, men jag bara inte kommer på det :)

Netikett 2005-10-07 16:02

Ska bara du se det kanske nåt i stil med detta funka bra.
Kod:

if session("Login") = "admin" Then
'visa minstatistik
End if

En riktlinje bara..

grazzy 2005-10-07 16:25

Jag förstår inte riktigt vad du är ute efter Davve, du frågar efter ett större programmeringsjobb som är helt anpassat för din sida.

Antingen kan du ha tur och hitta något färdigt som någon har gjort, eller så får du göra det själv.

Om du vill ha det "gjort", så varför inte lägga upp ett jobb i tjänster-forumet istället?

mrnoname 2005-10-07 16:29

Var längesen jag höll på med asp men här kommer ett försök:

I global.asa lägger du till:

sub onSessionStart
' lägg till ip i databasen över de som är online
end sub

sub onSessionEnd
' ta bort användarens ip ur databasen
end sub


global.asa:
onSessionStart - Körs varje gång en anv kommer till sidan
onSessionEnd - Körs när användaren navigerar ifrån eller stänger ned webbläsaren.

Observera att dessa inte är 100% tillförlitliga... vad jag hört

Davve 2005-10-07 16:34

<%Response.Write(Request.ServerVariables("remote_a ddr"))%>

samma sak med denna variabeln, den visar ju bara mitt IP för mig, den visar inte alla IP som är online, krångligt detta :)

Netikett 2005-10-07 16:37

Spara allas ip och datum när de laddade sidan.
Sen listar du alla datum som varit aktiva de senaste 15 minuterna eller liknande.
Så slipper du global.asa

Davve 2005-10-07 16:44

Citat:

Originally posted by mrnoname@Oct 7 2005, 16:29
Var längesen jag höll på med asp men här kommer ett försök:
I global.asa lägger du till:
sub onSessionStart
lägg till ip i databasen över de som är online
end sub
sub onSessionEnd
ta bort användarens ip ur databasen
end sub

global.asa:
onSessionStart - Körs varje gång en anv kommer till sidan
onSessionEnd - Körs när användaren navigerar ifrån eller stänger ned webbläsaren.
Observera att dessa inte är 100% tillförlitliga... vad jag hört

Det skule jag kunna testa, men hus ska jag anropa det sen? Alltså för att visa info?

Kristofer 2005-10-07 16:49

Davve kolla på det mrnoname skriver.

Du måste in i filen (eller skapa den om den inte finns) Global.asa och där lägga till kodsnuttar i OnSessionStart och OnSessionEnd då du sparar respektive tar bort informationen från varje användare. Det kan göras på olika sätt, databas eller Application och jag hade nog föredragit Application i det här fallet.

För att räkna antalet besökare online just nu kan det se ut så här i Global.asa (anpassa efter dina behov):

Sub Session_OnStart
' Change Session Timeout to 20 minutes (if you need to)
Session.Timeout = 20
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") + 1
Application.UnLock
End Sub

Sub Session_OnEnd
' Decrease the active visitors count when the session ends.
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") - 1
Application.UnLock
End Sub

På vilken undersida som helst kan du då för att visa antalet besökare bara skriva <% Response.Write Application("ActiveUsers") %>

(förutsätter att en session startas när en ny besökare kommer till webplatsen.)


Alla tider är GMT +2. Klockan är nu 17:04.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson