![]() |
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 |
Kod:
<%Response.Write(Request.ServerVariables("remote_addr"))%> Ett tips, Google om olika asp kurser |
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 :) |
Ska bara du se det kanske nåt i stil med detta funka bra.
Kod:
if session("Login") = "admin" Then |
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? |
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 |
<%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 :) |
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 |
Citat:
|
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.) |
Ja, det är just det som ligger i min Global.asa just nu :) Men jag vill kunna visa IP genom det också, alla online IP
|
Citat:
|
Citat:
Ja, det är det jag tänker på, skulle du kunna utveckla lite hur jag ska använda den koden? |
Jag har ett sådant script färdigt i asp, men jag håller med grazzy. PMa om du är intresserad.
|
databasdesign, tabellen online
o_ip varchar(15) o_tid datetime i global.asa sub onSessionStart ' lägg till användarens ip, tid i databasen end sub sub onSessionEnd ' ta bort posten som innehåller användarens ip ur databasen end sub När du vill få ut antalet online SQL-sats: SELECT COUNT(o_ip) as antalonline FROM online; Skriv ut antalonline När du vill få ut ipadresserna SQL-sats: SELECT o_ip FROM online; Loopa ut alla o_ip När du vill få ut ipadresserna + hur länge de varit online SQL-sats: SELECT * FROM online; Loopa ut alla o_ip och räkna ut vistelsetiden genom att jämföra o_tid med NOW |
Alla tider är GMT +2. Klockan är nu 03:55. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson