webForumDet fria alternativet

Antalet inloggade på siten (global.asa)

ASPur ASP

16 svar · 583 visningar · startad av mattiasnordin

mattiasnordinMedlem sedan maj 20012 080 inlägg
#1

Hittade ett exempel på hur man kan se hur många som är inloggade på min website.

http://www.webforum.nu/showthread.php?s=&threadid=37474&forumid=148

Har en webserver (windows 2003 server) och hittar inte global.asa filen. Finns den inte längre eller hur fungerar det?

@ndersMedlem sedan juni 200032 969 inlägg
#2

Global.asa skapas nog bara inte av sig själv.

mattiasnordinMedlem sedan maj 20012 080 inlägg
#3

Antar att man ska skapa den själv då. Ska man lägga filen i sin webroot?
Jag har flera webbar på samma server. :)

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#4

Du lägger den i IIS-applikationens root.

mattiasnordinMedlem sedan maj 20012 080 inlägg
#5

Erik Juhlin skrev:

Du lägger den i IIS-applikationens root.

Vad menas med det? :q

Jag lade filen i min webroot och så körde jag skriptet. Den enda förändringen är att jag inte har någon loginsida...

<%
session("userID") = userID

Application.Lock
Application("antal") = cint(Application("antal")) +1
Application.Unlock
%>

<%=Application("antal") %>

Denna kod räknar ju upp ett steg för varje refresh jag gör i min webläsare. Så hade jag inte tänkt att det skulle fungera :q :o

@ndersMedlem sedan juni 200032 969 inlägg
#6

Har du lagt det i Session_OnStart?

mattiasnordinMedlem sedan maj 20012 080 inlägg
#7

Global.asa ser ut så här:

<script language=VBScript runat=Server>
Sub Application_OnStart
Application("antal") = 0
End Sub

Sub Session_OnEnd
IF session("userID") <> "" THEN
Application.Lock
Application("antal") = cint(Application("antal")) -1
Application.Unlock
End if
End Sub
</script>

Min sida ser ut så här:

<%
session("userID") = userID

Application.Lock
Application("antal") = cint(Application("antal")) +1
Application.Unlock
%>

<font color=yellow><%=Application("antal")%></font> online. <br>

eeehhh... ??? hur fungerar ovan. När anropas subbarna. Jag har plankat koden från det som fanns i WF-kodarkivet.

@ndersMedlem sedan juni 200032 969 inlägg
#8

Första gången en asp-sida i applikationen körs efter tjänsten startats, körs Application_OnStart. När första asp-sidan i en session körs triggas Session_OnStart. Du ska alltså lägga uppräknarkoden i Session_OnStart, och behålla nedräknarkoden i Session_OnEnd. Om du bara räknar upp på aspsidan så är det inte så konstigt att den räknar upp för varje refresh.

Session_EnEnd körs när en session timar ut, eller Session.Abandon körs.

mvh

mattiasnordinMedlem sedan maj 20012 080 inlägg
#9

Hittade ett annat exempel...

<script language=vbscript runat=server>
Sub Application_OnStart
Application("Active") = 0 
End Sub

Sub Application_OnEnd
End Sub

Sub Session_OnStart
Application.Lock
Application("Active") = Application("Active") + 1
Application.Unlock
End Sub

Sub Session_OnEnd
Application.Lock
Application("Active") = Application("Active") - 1
session.abandon 
Application.Unlock
End Sub
</script>
<%=Application("Active")%>

Om ovan bör fungera så har jag nog lagt global.asa filen på fel ställe. För <%=Application("Active")%> returnerar inte någonting :(

@ndersMedlem sedan juni 200032 969 inlägg
#10

Det bör fungera om det ligger i global.asa, ja.

Fast det känns himskans onödigt att köra abandon i session_onend...

mvh

Jesper TMedlem sedan nov. 20017 144 inlägg
#11

Skall ligga i rootkatalogen. (där du har index-sidan)
Använder du ett webbhotell så finns det hotell som inte tillåter global.asa

mattiasnordinMedlem sedan maj 20012 080 inlägg
#12

Prova gärna att titta på: http://mattiasnordin.net/web2002/

Online-räknaren ska visas längst uppe till höger under server uptime...

Är det någon som har någon ide på vad som kan vara fel?

mattiasnordinMedlem sedan maj 20012 080 inlägg
#13

Jesper T skrev:

Skall ligga i rootkatalogen. (där du har index-sidan)
Använder du ett webbhotell så finns det hotell som inte tillåter global.asa

Jag har en egen webserver ;)

mattiasnordinMedlem sedan maj 20012 080 inlägg
#14

Nu fungerar det ! Vad kul....

Ett tips till moderatorn: Ta gärna bort sidan nedan från WF skriptarkiv då skriptet inte fungerar.
http://www.webforum.nu/showthread.p...474&forumid=148

@ndersMedlem sedan juni 200032 969 inlägg
#15

mattiasnordin skrev:

Nu fungerar det ! Vad kul....

Ett tips till moderatorn: Ta gärna bort sidan nedan från WF skriptarkiv då skriptet inte fungerar.
http://www.webforum.nu/showthread.p...474&forumid=148

Ett tips till mattiasnordin; ta gärna bort länken ur ditt inlägg, då den inte fungerar. ;)

Eller ännu bättre, fixa så länken fungerar, så kan vi kolla vad det är för fel på scriptet.

mattiasnordinMedlem sedan maj 20012 080 inlägg
#16

Sorry... klippte ut den del av länken som visades i det första inlägget (avklippta versionen).

Här kommer den rätta:

http://www.webforum.nu/showthread.php?s=&threadid=37474&forumid=148

Om den fungerar eller inte vet jag inte. Jag fick det inte att snurra i alla fall då den räknade upp på ett konstigt sätt. Länken till sidan där man kan diskutera skriptet fungerade inte :)

Tack för hjälpen :)

@ndersMedlem sedan juni 200032 969 inlägg
#17

Jodå, det ser ut att funka, men den räknar inte samma sak som scriptet du pillat till just nu. Lukaspojkens script räknar inloggade, inte sessioner. :-)

Mvh

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