---
title: "global.asa on Session end?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/7634-global-asa-on-session-end"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "M@rtin"
published: "2001-01-05T15:31:00.000Z"
updated: "2001-01-08T18:55:00.000Z"
replies: 20
views: 355
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/7634-global-asa-on-session-end"
---

# global.asa on Session end?

_Sida 1 av 2._

## #1 — M@rtin, 2001-01-05T15:31Z

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?

Permalänk: https://www.webforum.nu/p/7634

## #2 — emission, 2001-01-05T16:23Z

Du kan plocka ut Session("anvandarnamn") i global.asa utan problem. Vad är problemet?

Sub Session_OnEnd
   .....blablabla

   conn.execute "UPDATE tabell set online=0 where username='" & session(anvandarnamn") & "'"
 
End Sub

Global.asa ska aldrig inkluderas, aldrig någonsin. Den ska bara ligga på sin plats i applikationsroten.

Permalänk: https://www.webforum.nu/p/253504

## #3 — M@rtin, 2001-01-05T18:29Z

Nähä nej då var det väl inget problem då ;)
Fick massa felmeddelanden när jag inkluderade den... det var Skywalker (Bire) som lurade mig ;)

Permalänk: https://www.webforum.nu/p/253505

## #4 — M@rtin, 2001-01-06T11:48Z

Nu har jag gjort typ som du sa men jag får det ändå inte att fungera :(

Så här ser min global.asa ut, vad är felet?

```
<OBJECT RUNAT=Server SCOPE=Session ID=MyInfo PROGID="MSWC.MyInfo">

Sub Session_OnEnd

Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
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") & "'"
rs.Open SQL, MinCon, 1, 2
Session("level")=0
Session("anvandarnamn")=""
Session("losenord")=""
Session("connected")=0
Session("visits")=0
Session("lastvisit")=""

End Sub
</OBJECT>
```

Permalänk: https://www.webforum.nu/p/253506

## #5 — @nders, 2001-01-06T12:57Z

varför använder du recordset öht :q

varför sätter du värden till sessioner i \_onend?

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)
```

Permalänk: https://www.webforum.nu/p/253507

## #6 — M@rtin, 2001-01-06T13:30Z

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 :)

Permalänk: https://www.webforum.nu/p/253508

## #7 — M@rtin, 2001-01-08T10:49Z

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 :(

Permalänk: https://www.webforum.nu/p/253509

## #8 — @nders, 2001-01-08T11:29Z

kan du få global.asa att utföra något öht?

Permalänk: https://www.webforum.nu/p/253510

## #9 — M@rtin, 2001-01-08T11:40Z

Vet inte.. har du nån enkel o felfri kod som jag skulle kunna testa med?

Permalänk: https://www.webforum.nu/p/253511

## #10 — @nders, 2001-01-08T12:00Z

du kan ju exempelvis sätta application("test") = "gröfs" i application_onstart, och sedan skriva ut värdet på valfri asp-sida.

Permalänk: https://www.webforum.nu/p/253512

## #11 — M@rtin, 2001-01-08T12:01Z

ja jag ska testa det.. jag återkommer.. :)

Permalänk: https://www.webforum.nu/p/253513

## #12 — M@rtin, 2001-01-08T12:14Z

Nej det verkar typ inte funka alls :(
Ska man ha den här raden överst i global.asa?
\<OBJECT RUNAT=Server SCOPE=Session ID=MyInfo PROGID="MSWC.MyInfo"\>

Permalänk: https://www.webforum.nu/p/253514

## #13 — @nders, 2001-01-08T12:28Z

ligger sajten på ett hotell?
eller pratar vi om din lokala utvecklingsserver / maskin?

om hotell, är du säker på att du har möjlighet att använda global.asa? det är inte alltid man har det, ser du.

Permalänk: https://www.webforum.nu/p/253515

## #14 — M@rtin, 2001-01-08T12:30Z

Hmm... jag kör på [www.netintense.se](http://www.netintense.se)  o det gör Vide oxå så jag trodde det skulle funka men jag kan ju inte vara helt säker.. 

Har testat i PWS oxå men där vet jag inte riktigt hur man ska göra... vilken mapp det ska vara etc.

Permalänk: https://www.webforum.nu/p/253516

## #15 — Vide, 2001-01-08T12:39Z

Kan bara konstatera att global.asa fungerar som det skall på netintense...

Se till att global.asa ligger i rooten på din webplats (din_domän.com)

Permalänk: https://www.webforum.nu/p/253517

## #16 — M@rtin, 2001-01-08T12:49Z

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...

Permalänk: https://www.webforum.nu/p/253518

## #17 — Vide, 2001-01-08T12:50Z

Med all viktig kod borttagen så ser det ut såhär:

```
<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>
```

Permalänk: https://www.webforum.nu/p/253519

## #18 — M@rtin, 2001-01-08T12:55Z

Jippie! Nu funkar det... :) jag hade Object istället för Script :(
1K tack till er alla..

Permalänk: https://www.webforum.nu/p/253520

## #19 — Vide, 2001-01-08T12:59Z

Vassego... :)

Permalänk: https://www.webforum.nu/p/253521

## #20 — nakoz, 2001-01-08T14:10Z

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?

aja, bara ett förslag :e

MVH

Permalänk: https://www.webforum.nu/p/253522

---

Tråden på webben: https://www.webforum.nu/amne/asp/7634-global-asa-on-session-end  
Nästa sida: https://www.webforum.nu/amne/asp/7634-global-asa-on-session-end/page2.md
