icaaqMedlem sedan okt. 20005 273 inlägg 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
·F_USER_ID
·F_REGTID_START
·F_REGTID_SLUT
·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)
------------------
I like ¼ £ whith cheese
icaaqMedlem sedan okt. 20005 273 inlägg jag har alltså tänkt mig att använda on_session_end, men det kanske ni förstod :)
------------------
I like ¼ £ whith cheese
@ndersMedlem sedan juni 200032 969 inlägg 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? :)
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
icaaqMedlem sedan okt. 20005 273 inlägg hur använder jag Session.SessionID?? :OO
------------------
I like ¼ £ whith cheese
@ndersMedlem sedan juni 200032 969 inlägg 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.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
icaaqMedlem sedan okt. 20005 273 inlägg 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
------------------
I like ¼ £ whith cheese
[Redigerat av icaaq den 26 jul 2001]
icaaqMedlem sedan okt. 20005 273 inlägg kan man skriva ut en sql-sats som ligger i global.asa?
------------------
I like ¼ £ whith cheese
icaaqMedlem sedan okt. 20005 273 inlägg 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)
:)
------------------
I like ¼ £ whith cheese
icaaqMedlem sedan okt. 20005 273 inlägg 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)
------------------
I like ¼ £ whith cheese
[Redigerat av icaaq den 30 jul 2001]
icaaqMedlem sedan okt. 20005 273 inlägg *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....
------------------
I like ¼ £ whith cheese
[Redigerat av icaaq den 01 aug 2001]
icaaqMedlem sedan okt. 20005 273 inlägg Om jag kör en Session.Abandon
ska inte Session_OnEnd kicka igång da ?? :OO
------------------
I like ¼ £ whith cheese
@ndersMedlem sedan juni 200032 969 inlägg 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.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
icaaqMedlem sedan okt. 20005 273 inlägg 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
------------------
I like ¼ £ whith cheese
@ndersMedlem sedan juni 200032 969 inlägg 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.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
icaaqMedlem sedan okt. 20005 273 inlägg 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*
------------------
I like ¼ £ whith cheese
[Redigerat av icaaq den 01 aug 2001]