hur gör man om man vill att vissa saker ska hända när en session raderas på servern?
Alltså:
När man loggar in på min sida så sätts status o medlemsdatabasen till "online" och en session("anvandarnamn") lagrar användarnamnet. När man varit inaktiv i 20 min så försvinner Sessionen men jag vill då även ändra status i databasen till "offline" hur får man då tag i Session("anvandarnamn") i global.asa och måste man ha includerat global.asa på alla sidor för att det ska fungera?
sätt endast sessioner i _onstart.
vad ska du ha dem till efter _onend?
Sub Session_OnEnd
Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\clients\peachy.nu\scripts\databaser\medlem.mdb"
SQL = "UPDATE medlem SET status = 'Offline' WHERE anvandarnamn = '" & Session("anvandarnamn") & "'"
MinCon.execute (SQL)
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
Jo jag vet att det kanske e onödigt.. tänkte för säkerhets skull bara om de inte skapades samtidigt eller nåt.. men de borde väl inte göra att det inte funkar eller?
Testar med ditt sätt nu iaf :)
Ush va trött jag e på detta nu. Nu har jag tagit bort alla nollställningar etc. men det funkar ändå inte.. Man kan väl inte behöva ha en on start oxå för att det ska funka? Jag kan inte ha lagt den i fel katalog på servern heller för jag har lagt den i både roten och den där själva sidan ligger... hjälp mig jag blir tokig :(
Ja det har jag gjort Vide men kan du visa exakt hur det står i din? Asså du kan ju ta bort det du inte vill visa o så men det e mest det här OBJECT jag e intresserad utav...
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
Application("intActive_users") = Application("intActive_users") + 1
Application("visitors") = Application("visitors")+1
End Sub
Sub Session_OnEnd
Application("visitors") = Application("visitors")-1
Application("intActive_users") = Application("intActive_users") - 1
End Sub
Sub Application_OnStart
Application("visitors") = 0
Application("intActive_users") = 0
Application("DBstr") = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("/scripts/xxx.mdb") & ";"
End Sub
Sub Application_OnEnd
End Sub
</SCRIPT>
------------------ It's now safe to turn your computor to the left. Kom hem till mig...
såg att du fått de å funka nu, grattis... men jag tänkte på en grej... e de inte bättre att använda Id:t istället?
nu har du
Sub Session_OnEnd
Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\clients\peachy.nu\scripts\databaser\medlem.mdb"
SQL = "UPDATE medlem SET status = 'Offline' WHERE anvandarnamn = '" & Session("anvandarnamn") & "'"
MinCon.execute (SQL)
men jag föreslår istället:
Sub Session_OnEnd
Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\clients\peachy.nu\scripts\databaser\medlem.mdb"
SQL = "UPDATE medlem SET status = 'Offline' WHERE id = '" & Session("id") & "'"
MinCon.execute (SQL)
det som är ändrat är:
SQL = "UPDATE medlem SET status = 'Offline' WHERE id = '" & Session("id") & "'"
jag tror detta skulle bli säkrare än med medlemsnamnet utifall man har något olagligt tecken eller så med?