webForumDet fria alternativet

Global.asa halvt fungerande!

ASP

26 svar · 516 visningar · startad av crisse6

Medlem sedan dec. 20002 526 inlägg
Frågan#1

Hej!

Forsoker gora min global.asa fil sa den ska logga antal inloggade och antal gaster (dvs, icke inloggade)... Men far bara ut gaster nar jag skriver ut session("guest") och session("medlem") blir liksom tom, inga felmess.... men ni kan la kolla? sen ocksa, hur far man namnet pa de personer som ar inloggade?

<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>
	

	Sub Session_OnStart()
		
		If session("usr") = "" then
		session("guest") = +1
		session("medlem") = "0"
		else
		session("medlem") = +1
		session("guest") = "0"
		End If
	End Sub
	
	Sub Session_OnEnd
		
		session("guest") = -1
		session("medlem") = -1
		
	End Sub
</SCRIPT>

:e

Medlem sedan nov. 20017 144 inlägg
#2

Måste man inte använda "application" när man trixar med sådant där?

Medlem sedan dec. 20002 526 inlägg
#3

Jag vet inte.... har inte hajat det dar riktigt an ;) Men forsok jeppe ;)

Medlem sedan nov. 20017 144 inlägg
#4

Så här ser mitt global.asa ut:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
' Set our user count to 0 when we start the server
Application("ActiveUsers") = 0
Application("active_users")=""
End Sub

Sub Session_OnStart
Session("Usname")=""
' Change Session Timeout to 20 minutes (if you need to)
Session.Timeout = 30
' Set a Session Start Time
' This is only important to assure we start a session
Session("Start") = Now
' Increase the active visitors count when we start the session
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
un=Session("Usname")
if un<>"" and Application("active_users")<>"" then
tmp=Application("active_users")
idx=instr(tmp,un & "*")
tmp2=left(tmp,idx-1) & right(tmp,len(tmp)-idx-len(un))
Application("active_users")=tmp2
end if

End Sub

</SCRIPT>
Medlem sedan nov. 20017 144 inlägg
#5

Och på signin sidan:

uname=rsUser("Username")
Session("Usname")=uname
application.lock
if  instr("*" & Application("active_users"), "*" & uname & "*") = 0 then
Application("active_users")=Application("active_users") & uname & "*" 
end if
application.unlock
Medlem sedan nov. 20017 144 inlägg
#6

Och på "onlinesidan":

user_array=split(Application("active_users"),"*")
  for t=0 to ubound(user_array)
  user=user_array(t)
...
Medlem sedan feb. 200112 078 inlägg
#7

Re: Global.asa halvt fungerande!

session("guest") = -1
session("medlem") = -1

Men crisse lille, du vet väl mycket väl vad värdet blir i denna sessionsvariabel? ;) Det blir givetvis -1. Det är en tilldelning du gör, inte en uträkning.

Och precis som jesper beskriver, skall du använda application, inte session. :)

Medlem sedan dec. 20002 526 inlägg
#8

men vadåååååååååååååååååå :) skulle bara testa dig override, fick ju skriptet av dig, eller? :e

har allt som jeppe skriver osa men, det blir ju ingen utskrivning, ska det komma nagot aven om man inte ar inloggad? :D Har aven loggat in, men inget hander.... :(
Det blir alltsa "tomt" nar man skriver ut det....
Det ska vara Next dar ocksa pa defineringen av variablen??? La till det iaf.. ar inte haj pa Next osa har inte fattat det aven om jag har en liten asp bok har... nagon som vill forklara, men forst problemet :D

Medlem sedan feb. 200112 078 inlägg
#9

fick ju skriptet av dig, eller?

Jasså, det fick du? :OO ;)

Lite mod. version:

user_array=split(Application("active_users"),"*")
for t=0 to ubound(user_array)
   response.write user_array(t) & "<br>"
next

Har du använt jespers kod och placerat global.asa i roten?

Medlem sedan nov. 20017 144 inlägg
#10

Glöm inte att plocka bort dem också, när de loggar ut ;)
Nåt sånt här:

un=Session("Usname")
if un<>"" and Application("active_users")<>"" then
tmp=Application("active_users")
idx=instr(tmp,un & "*")
tmp2=left(tmp,idx-1) & right(tmp,len(tmp)-idx-len(un))
Application("active_users")=tmp2
end if
Session.Abandon

...men det hade du förstås räknat ut :o

Medlem sedan dec. 20002 526 inlägg
#11

jo, det hade jag. men problemet ar att den visar ju bara anvandarnamnet nu, funkade med overrides losning... men assa, jag vill ju ha sa det star... Gaster: 0, Medlemmar: 1<br>"anvandarnamn"

Medlem sedan nov. 20017 144 inlägg
#12

Det skall väl bara vara att skriva: Response.write Application("activeusers") för att få ut samtliga gäster. Vill du ha medlemmarna så kanske du kan loopa alla inloggade och ta de minus samtliga surfare så får du antalet "gäster".

Medlem sedan dec. 20002 526 inlägg
#13

ghez!!! Mycket dar pa engang? Jag ar ny med global.asa .... sa kan du beskriva den dar minus-processen? :e

[r]
nar jag skrev ut application("active_users") sa blev det inloggade anvandarnamnet... hmmm.... och loggar man ut blir det nada.

Medlem sedan nov. 20017 144 inlägg
#14

Det skall stå: application("activeusers")
utan _

Medlem sedan nov. 20017 144 inlägg
#15

Jag är inte helt säker, jag testade att lägga till en application som hette: application("membersOnline")
Den la jag på alla ställen i global asa där application("activeusers") låg.
Den enda skillnaden var att jag la till
application("membersOnline")=application("membersOnline")+1
på signin-sidan och
application("membersOnline")=application("membersOnline")-1 på sigoutsidan.
...Jag kanske är ute och åker pulka nu men ändå.
Vill du sedan presentera alla på sidan så borde det bli ungefär så här:

Response.write "Medlemmar online: "&application("membersOnline") &_
" Gäster Online: " & application("activeusers") - application("membersOnline")
Medlem sedan dec. 20002 526 inlägg
#16

nej. blir inget da.

assa, kan man inte anvanda mig global.asa fil jag hade i borjan och bara lagga till nagon application dar?

Medlem sedan nov. 20017 144 inlägg
#17

crisse6 skrev:

nej. blir inget da.
assa, kan man inte anvanda mig global.asa fil jag hade i borjan och bara lagga till nagon application dar?

Det var ju det jag beskrev :)

Medlem sedan dec. 20002 526 inlägg
#18

vi gick nog om varandra dar... kolla nu sa har ser allt ut for mig:
global.asa

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
' Set our user count to 0 when we start the server
Application("ActiveUsers") = 0
Application("active_users")=""
application("membersOnline") 
End Sub

Sub Session_OnStart
Session("usr")=""
' Change Session Timeout to 20 minutes (if you need to)
Session.Timeout = 30
' Set a Session Start Time
' This is only important to assure we start a session
Session("Start") = Now
' Increase the active visitors count when we start the session
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") + 1
application("membersOnline") = application("membersOnline") + 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("membersOnline") = application("membersOnline") - 1
Application.UnLock
un=Session("usr")
if un<>"" and Application("active_users")<>"" then
tmp=Application("active_users")
idx=instr(tmp,un & "*")
tmp2=left(tmp,idx-1) & right(tmp,len(tmp)-idx-len(un))
Application("active_users")=tmp2
end if

End Sub

</SCRIPT>

include_check.asp

session("usr") = strUser
session("level") = rs2("level")
session("sessionsID") = rs2("ID")

uname=strUser
application.lock
if  instr("*" & Application("active_users"), "*" & uname & "*") = 0 then
Application("active_users")=Application("active_users") & uname
application("membersOnline")=application("membersOnline")+1
end if
application.unlock

och skriver sedan ut sa har:

user_array=split(Application("active_users"),"*")
for t=0 to ubound(user_array)
next

Response.write "Medlemmar online: "&application("membersOnline") &_
" Gäster Online: " & application("activeusers") - application("membersOnline")

puuuh... lika bra tycker jag ;)

Medlem sedan nov. 20017 144 inlägg
#19
Application("ActiveUsers") = 0
Application("active_users")=""
application("membersOnline")=[b] [3]0[/3][/b]

:h

Medlem sedan dec. 20002 526 inlägg
#20

ingen skillnad

297 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
155 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
153 ms — ändringar (db)