webForumDet fria alternativet

problem med session.sessionid?

7 svar · 209 visningar · startad av ampy

ampyMedlem sedan feb. 20011 498 inlägg
#1

Min kod:

<%	
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("community.mdb")&";Jet OLEDB:Database Password=berten"
[b]Connect.Execute "UPDATE members SET status='offline' Where Sessionid=" & Session.Sessionid & ""[/b]
Connect.Execute ("UPDATE members SET status='offline' Where id=" & Session("id") & "")
Connect.Close
%>

Denna kod finns i min global.asa men jag testade att köra den i en vanlig asp-fil för koden fungerade inte som den ska, då får jag detta fel på den raden på fetstil:

Det har inte angetts något värde för en eller flera nödvändiga parametrar.
EkströmMedlem sedan feb. 20022 594 inlägg
#2

Sätt parenteser runt

"UPDATE members SET status='offline' Where Sessionid=" & Session.Sessionid & ""
ampyMedlem sedan feb. 20011 498 inlägg
#3

Får fortfarande samma fel, men på raden med fetstil, ska man skriva så då, alltså jag har inget fält som heter sessionid utan bara id, så här ser hela min global.asa ut:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("community.mdb")&";Jet OLEDB:Database Password=berten"
	Connect.Execute "UPDATE members SET status='offline'"
	Connect.Close

   Application("totBesok") = 0
   Application("nuBesok") = 0
End Sub 

Sub Session_OnStart
On error resume next
   Session("Start") = Now
	Application.Lock
	Application("totBesok") = Application("totBesok") + 1
	Application.Unlock
   Session("BesokID")=Application("totBesok")
   Session.Timeout = 20

End Sub

Sub Session_OnEnd

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("community.mdb")&";Jet OLEDB:Database Password=berten"
	Connect.Execute ("UPDATE members SET status='offline' Where sessionid=" & Session.Sessionid & "")
	Connect.Execute ("UPDATE members SET status='offline' Where id=" & Session("id") & "")
	Connect.Close

End Sub

</SCRIPT>

Det jag vill göra är att sätta online på de medlemmar som har varit inaktiva efter 20 min.

EkströmMedlem sedan feb. 20022 594 inlägg
#4

Om det inte ser ut som om folk är online så kan det bero på att du sätter status till offline vare sig man kommer eller går

Connect.Execute ("UPDATE members SET status='online' WHERE id=" & Session("id") & "")

Vad tror du om det?

RED: Blev konstigt

ampyMedlem sedan feb. 20011 498 inlägg
#5

Varför ska jag sätta den till online?

EkströmMedlem sedan feb. 20022 594 inlägg
#6

Nånstans måste du ju göra det, annars är det ju inte konstigt om det inte ser ut som om folket är offline.

Eller har jag än en gång missförstått? Skit också! ;)

ampyMedlem sedan feb. 20011 498 inlägg
#7

Jag sätter ju medlemmen till online när den loggar in.
Sen vill jag sätta medlemmen till offline när personen bara lämnar sidan eller stänger webläsarfönstret. Men min global.asa verkar inte funka.

ampyMedlem sedan feb. 20011 498 inlägg
#8

Är det ingen som ser om det ä något fel i min global.asa?

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