Blir inte riktigt klok på detta. Testar på en adminsida med 4 medlemmar men det fungerar inte. Det låter som om cookien inte returneras korrekt. Cookies kan vara en liten historia för sig själva. Jag hittade en utmärkt artikel om just detta ämne, visserligen skriven med ASP.NET i fokus men den går lätt att applicera på "vanlig" ASP. Intressant artikel och lärorik. Men jag tror inte att det är något problem med cookien. Som sagt, skriver jag ut cookien för att kolla stämmer det. AH. Löst...Aktiva besökare - global.asa, igen...
Sidan ger klienten en cookie, skriver jag ut den så stämmer den enligt ID i databasen. Cookien kollas mot global.asa i Sub Session_OnStart så här (helt enligt Pelles Visa aktiva besökare...)
<code>
Sub Session_OnStart
If Not rstActiveUsers.EOF Then rstActiveUsers.MoveFirst
Online=0
Do While Not (rstActiveUsers.EOF or rstActiveUsers.BOF)
If rstActiveUsers("userid") = Request.Cookies("userid") then
Online = 1:Exit Do
End If
rstActiveUsers.MoveNext
Loop
If online = 0 then
rstActiveUsers.AddNew
rstActiveUsers("id") = Session.SessionID
rstActiveUsers("started") = Now()
rstActiveUsers("userid") = Request.Cookies("userid")
rstActiveUsers.Update
End If
If Not rstActiveUsers.EOF Then rstActiveUsers.MoveLast
End Sub
</code>
Sidan som ska visa besökarna ser ut så här:
<code>
set con=server.createobject("adodb.connection")
con.open Application("DSN")
set rst = rstActiveUsers.Clone
rst.sort = "started desc"
If not rst.eof then rst.movefirst
do while not rst.EOF
set rst2 = con.execute("select fornamn, efternamn, ort, ID, mail from tbl_members Where ID = " & rst("userid") & "")
</code>
Och felmeddelandet lyder: Microsoft JET Database Engine error '80040e14'
Syntax error (missing operator) in query expression 'ID ='.
Om jag före con.execute kollar om rst("userid") = "" och är den det så sätter vi den till tex 1 så fungerar det, fast då förstås visas medlemmen som har post 1 i tabellen. Jag har kollat att logga in med olika users och cookien stämmer enligt databasen, varför får då inte con.excute ett värde att köra mot?
Har liksom fullständigt kört fast och det skulle vara skoj om det fungerade, tacksam för hjälp!Sv: Aktiva besökare - global.asa, igen...
http://www.codeproject.com/aspnet/aspnetcookies.asp
/Mattias
--------------------
There's a lot of things that if I could I'd rearrange
-Bono
--------------------Sv: Aktiva besökare - global.asa, igen...
Men jag testade att skriva ut det globala recordsetet, rst("userid") och den skriver inte ut någonting.
Någonting går fel i global.asa där rst("userid") deklareras :
<code>
rstActiveUsers("userid") = Request.Cookies("userid")
</code>
Tilläggas bör att jag använder en Access 2000 databas..Sv: Aktiva besökare - global.asa, igen...
Global.asa - Application_OnStart
rstActiveUsers.Fields.Append "userid", adInteger
Integer på ID, naturligtvis!