Jo jag har två sidor som använder sig av min global.asa på två olika sätt... jag trodde jag kommer upp med en bra lösning med följande kod
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application.Lock
Application("DBstr") = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB;Data Source=" & Server.MapPath("/site2/db.mdb")
Application("visitors") = "0"
Application.Unlock
End Sub
Sub Application_OnEnd
End Sub
Sub Session_OnStart
If (left(Request.ServerVariables("PATH_INFO"),7) = "/site2") Then
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open Application("DBstr")
strSession = Session.SessionID
SQL = "INSERT INTO kund (SessionsID, Summa) VALUES ('" & strSession & "', '0')"
objConn.Execute(SQL)
objConn.Close
Set objConn = Nothing
ElseIf (left(Request.ServerVariables("PATH_INFO"),4) = "/site1") Then
Application.Lock
Application("visitors") = Application("visitors") +1
Application.Unlock
End If
End Sub
Sub Session_OnEnd
If (left(Request.ServerVariables("PATH_INFO"),7) = "/site2") Then
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open Application("DBstr")
strSession = Session.SessionID
SQL = "DELETE FROM kund WHERE SessionsID ='"& strSession &"'"
objConn.Execute(SQL)
SQL = "DELETE FROM vara WHERE SessionsID ='"& strSession &"'"
objConn.Execute(SQL)
objConn.Close
Set objConn = Nothing
ElseIf (left(Request.ServerVariables("PATH_INFO"),4) = "/site1") Then
Application.Lock
Application("visitors") = Application("visitors") -1
Application.Unlock
End If
End Sub
</SCRIPT>
Men nu efter har jag märkt en del fel som jag tror ha med den att göra.
1. Om man först går in i "/site1" och sedan går in på "/site2" så blir det fel efter som den körde ju global.asa'n när den kom till site1 och la då inte till någon tabell i databasen som site2 behöver? finns det något sätt att lösa detta?
2. Det andra är att jag tror inte att onEnd fungera riktigt på sida2... för som ni ser ska den visa antalet besökare men jag har nu 125 online och jag tror inte riktigt det... så det jag gissar på är att global.asa inte gör onEnd rätt? Någon som har någon teori?