---
title: "session tid"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10876-session-tid"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "icaaq"
published: "2001-07-26T07:32:00.000Z"
updated: "2001-08-01T21:14:00.000Z"
replies: 14
views: 386
page: 1
pages: 1
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/10876-session-tid"
---

# session tid

## #1 — icaaq, 2001-07-26T07:32Z

jag tänkte så här:
En user loggar in på min site, från det ögonblicket vill jag ta tid hur länge han/hon är kvar där.

För att sedan lägga in allt i en db som ser ut på följande vis:

```
-T_REGTID
  &middot;F_USER_ID
  &middot;F_REGTID_START
  &middot;F_REGTID_SLUT
  &middot;F_REGTID_TOTAL
```

När hon/han loggar in får hon/han alltså ett USER_ID.

Måste jag lägga till ett fält för Session.SessionID osso?? :q (läste det nånstans)

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

## #2 — icaaq, 2001-07-26T07:34Z

jag har alltså tänkt mig att använda on_session_end, men det kanske ni förstod :)

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

## #3 — @nders, 2001-07-26T07:40Z

session_onend menar du? ;)

session.sessionid är lämpligt att använda. du kan ställa databasfrågor i session_onstart och session_onend i global.asa.

vad är frågan egentligen? :)

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

## #4 — icaaq, 2001-07-26T07:43Z

hur använder jag Session.SessionID?? :OO

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

## #5 — @nders, 2001-07-26T07:48Z

sessionid är bara en massa skräp, men det som är skoj är ju att alla användare har olika, fast samma, så länge sessionen är igång om du fattar. ;)

```
response.write session.sessionid
```

du kan ha den som nyckel i en tabell som håller inloggningarna, men du kan lika gärna göra en session som håller userid och använda userid som nyckel.

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

## #6 — icaaq, 2001-07-26T14:14Z

ok nu har jag:

```
Sub Session_OnEnd
	Set Objconn = Server.CreateObject("ADODB.Connection") 
			Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPathXXX/XXX")
			Objconn.open
	strSQL = "INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#"&Session("dteRegStart")&"#, #"&Now()&"#, #"&(Now()-Session("dteRegStart"))&"#, "&Session("MMID")&")"
	ObjConn.execute(strSQL)
	ObjConn.Close
	set objConn = nothing
End Sub
```

men inget klommer in i db vid en session.abandon 

vad kan vara fel??? :OO

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

## #7 — icaaq, 2001-07-26T14:19Z

kan man skriva ut en sql-sats som ligger i global.asa?

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

## #8 — icaaq, 2001-07-28T13:18Z

ok jag får följande:

```
INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#2001-07-28 15:10:41#, #2001-07-28 15:13:38#, #2,04861110978527E-03#, 1) 
Microsoft JET Database Engine error '80040e14' 

Syntaxfel i datum i frågeuttrycket '#2'. 

/abandon.asp, line 7
```

det blir alltså fel när jag ska få fram den totala tiden....hur får jag fram den rätt?? :q

```
strSQL = "INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#"&Session("dteRegStart")&"#, #"&Now()&"#, #"&[b](Now()-Session("dteRegStart"))[/b]&"#, "&Session("MMID")&")"
ObjConn.execute(strSQL)
```

 :)

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

## #9 — icaaq, 2001-07-29T22:48Z

Tiden har jag fixat :) Tack LarsG, men jag har ett annat problem:

```
<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Session_OnEnd

	tmeLogOn = Session("dteRegStart")
	tmeLoggade = f_tmeLoggad(tmeLogOn)
		
	Set Objconn = Server.CreateObject("ADODB.Connection") 
			Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../data/medimatch.mdb")
			Objconn.open
	strSQL = "INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#"&Session("dteRegStart")&"#, #"&Now()&"#, #"&Cdate(tmeLoggade)&"#, "&Session("MMID")&")"
	Response.Write strSQL
	ObjConn.execute(strSQL)
	ObjConn.Close
	set objConn = nothing
	
End Sub

Function f_tmeLoggad(tmeLogOn)
tmeLogOff = Now()
tmeDiff = DateDiff("s", tmeLogOn,tmeLogOff)
tmeDiffsek = Fix(tmeDiff mod 60)
tmeDiffmin = Fix(tmeDiff / 60) mod 60 
tmeDifftimme = Fix(tmeDiff / 3600)
If tmeDiffsek < 10 Then tmeDiffsek = "0"&tmeDiffsek
If tmeDiffmin < 10 Then tmeDiffmin = "0"&tmeDiffmin
If tmeDifftimme < 10 Then tmeDifftimme = "0"&tmeDifftimme
f_tmeLoggad = tmeDifftimme&":"&tmeDiffmin&":"&tmeDiffsek
End Function

</SCRIPT>
```

Så här ser min global.asa ut nu men när jag kör en Session.Abandon så kommer det inte in något i db.mdb nån som ser nåt fel....?? :q (Jag har kört denna på en vanlig .asp och det har gått bra)

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

## #10 — icaaq, 2001-08-01T20:23Z

**\*Sliter mitt hår\***

Nu har jag testat så här i en fil som heter abandon.asp och den ligger i samma rotnivå som Global.asa:

```
	<%
	Dim tmeLogOn, tmeLoggad
Sub test	
	tmeLogOn = Session("dteRegStart")
	tmeLoggad = f_tmeLoggad(tmeLogOn)
		
	Set Objconn = Server.CreateObject("ADODB.Connection") 
			Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../data/XXX.mdb")
			Objconn.open
	strSQL = "INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#"&Session("dteRegStart")&"#, #"&Now()&"#, #"&Cdate(tmeLoggad)&"#, "&Session("MMID")&")"
	Response.Write strSQL
	ObjConn.execute(strSQL)
	ObjConn.Close
	set objConn = nothing
	
End Sub
	
	Function f_tmeLoggad(tmeLogOn)
tmeLogOff = Now()
tmeDiff = DateDiff("s", tmeLogOn,tmeLogOff)
tmeDiffsek = Fix(tmeDiff mod 60)
tmeDiffmin = Fix(tmeDiff / 60) mod 60 
tmeDifftimme = Fix(tmeDiff / 3600)
If tmeDiffsek < 10 Then tmeDiffsek = "0"&tmeDiffsek
If tmeDiffmin < 10 Then tmeDiffmin = "0"&tmeDiffmin
If tmeDifftimme < 10 Then tmeDifftimme = "0"&tmeDifftimme
f_tmeLoggad = tmeDifftimme&":"&tmeDiffmin&":"&tmeDiffsek
End Function

Call test
	%>
```

Och den funkar precis som den ska.. :)

Men kör jag på detta vis i global.asa:

```
Dim tmeLogOn, tmeLoggad

Sub Session_OnEnd
	tmeLogOn = Session("dteRegStart")
	tmeLoggade = f_tmeLoggad(cdate(tmeLogOn))

		
	Set Objconn = Server.CreateObject("ADODB.Connection") 
			Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../../data/medimatch.mdb")
			Objconn.open
	strSQL = "INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#"&tmeLoggOn&"#, #"&Now()&"#, #"&tmeLoggade&"#, "&Session("MMID")&")"
	ObjConn.execute(strSQL)
	ObjConn.Close
	set objConn = nothing
	

End Sub

Function f_tmeLoggad(tmeLogOn)
tmeLogOff = Now()
tmeDiff = DateDiff("s", tmeLogOn,tmeLogOff)
tmeDiffsek = Fix(tmeDiff mod 60)
tmeDiffmin = Fix(tmeDiff / 60) mod 60 
tmeDifftimme = Fix(tmeDiff / 3600)
If tmeDiffsek < 10 Then tmeDiffsek = "0"&tmeDiffsek
If tmeDiffmin < 10 Then tmeDiffmin = "0"&tmeDiffmin
If tmeDifftimme < 10 Then tmeDifftimme = "0"&tmeDifftimme
f_tmeLoggad = tmeDifftimme&":"&tmeDiffmin&":"&tmeDiffsek	

End Function
```

Så blir inget inlagt.....**VARFÖR** :OO (snälla hjälp mig \***ynklig**\*)

\[redigerat in functionen som jag glömde....

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

## #11 — icaaq, 2001-08-01T21:02Z

Om jag kör en Session.Abandon
ska inte Session_OnEnd kicka igång da ?? :OO

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

## #12 — @nders, 2001-08-01T21:03Z

jo, men inte förrän absolut sist.
gör alltid en response.redirect efter abandon, för oberoende av var i koden du lägger abandon körs det sist av asp-kod.

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

## #13 — icaaq, 2001-08-01T21:06Z

Så om jag kör så här:

```
<%
Session.Abandon
Response.redirect "www.webforum.nu"
%>
```

på en sida ska det väll funka LR :OO

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

## #14 — @nders, 2001-08-01T21:10Z

joda, det jag menar är att saker som står efter session.abandon i koden körs före ändå.

jämför

```
response.write session("blah")
session.abandon
```

med

```
session.abandon
response.write session("blah")
```

samma resultat.

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

## #15 — icaaq, 2001-08-01T21:14Z

ok...men det löser inte mitt problem.....nu har jag en simpel kod fnutt på session_OnEnd:

```
Sub Session_OnEnd

	Set Objconn = Server.CreateObject("ADODB.Connection") 
			Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../../data/XXX.mdb")
			Objconn.open
			strSQL = "INSERT INTO T_REGTID(F_REGTID_TOTAL)VALUES(#"&Now()&"#)"
			ObjConn.execute(strSQL)
			ObjConn.close
	

End Sub
```

den vet jag funkar...men det kommer inte in något i db ändå..... \*FAN\*

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/10876-session-tid
