Avatar billede no_doubt Nybegynder
24. april 2001 - 19:43 Der er 25 kommentarer og
2 løsninger

fatter det ikke

Cyberfessor er igang med at lave noget for mig og vi/han/jeg kan ikke forstå hvorfor bliver kun noget af følgende kode kørt i forbindelse med session.abandon

Sub Session_OnEnd
Application(\"BrugereOnline\") = Application(\"BrugereOnline\") - 1
if NOT session(\"useronline\") = \"Guest\" then
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"/log/db.mdb\")
conn.execute(\"DELETE from user_log where (user = \'\"& session(\"useronline\") &\"\')\")
conn.close
set conn = nothing
session(\"useronline\") = \"\"
end if
End Sub
Burning Ice @ Work: (7:49 PM) det der bliver kørt er
Application(\"BrugereOnline\") = Application(\"BrugereOnline\") - 1

resten bliver bare ignoreret

ovenstående koder ligger i min global.asa fil
Avatar billede no_doubt Nybegynder
24. april 2001 - 19:45 #1
jeg skrev bare det han sagde fra icq, så derfor skal : Burning Ice @ Work: (7:49 PM)  lige væk *g*
Avatar billede burningice Nybegynder
24. april 2001 - 19:46 #2
det er nemli\' rigtigt...  og der er IKKE snyd med i spillet hvis der var nogle der skulle være i tvivl :)
Avatar billede kasper Nybegynder
24. april 2001 - 19:50 #3
hvad med

\"DELETE from user_log where user = \'\"& session(\"useronline\")&\"\'
Avatar billede kasper Nybegynder
24. april 2001 - 19:51 #4
DELETE from user_log where user = \'\"& session(\"useronline\")&\"\'

er det nødvendigt med den sidste ()
Avatar billede no_doubt Nybegynder
24. april 2001 - 19:52 #5
Noget vi/du kan bruge ;-)
Avatar billede kasper Nybegynder
24. april 2001 - 19:55 #6
Det ville være en smule lettere hvis I sagde, hvad der ikke blev eksekveret, og hvad der blev:)
Avatar billede burningice Nybegynder
24. april 2001 - 19:58 #7
det hjalp ikke...

kasper>> hvis du nu havde læst spm ordenligt igennem havde du set at det kun er Application(\"BrugereOnline\") = Application(\"BrugereOnline\") - 1  der bliver kørt... resten, dvs.
f NOT session(\"useronline\") = \"Guest\" then
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"/log/db.mdb\")
conn.execute(\"DELETE from user_log where (user = \'\"& session(\"useronline\") &\"\')\")
conn.close
set conn = nothing
session(\"useronline\") = \"\"
end if
bliver åbenbart ignoreret
Avatar billede no_doubt Nybegynder
24. april 2001 - 19:59 #8
en prøve på hvad han/vi laver kan ses her : http://pauli.gic.gl/default.asp
Avatar billede lange Nybegynder
24. april 2001 - 20:03 #9
Det skulle vel aldrig være fordi session(\"useronline\") = \"Guest\" ... ?
Avatar billede burningice Nybegynder
24. april 2001 - 20:16 #10
ok ok ok... lidt teori

når man kommer ind på siden og ens cookie er tom bliver session sat til guest og der bliver ikke indsat noget i userlog
Når man så logger ind får man en cookie, ens navn og tidspunkt bliver skrevet i user_log og session(\"useronline\") bliver sat til ens username
Når man trykker på log ud blive ens cookie samt at session.abandon køres som jo trigger session_onend i global.asa

problemet er bare at koden der skal slette brugeren fra user_log ikke kørers, som den jo ellers burde... see the problem??
Avatar billede burningice Nybegynder
24. april 2001 - 20:18 #11
linje 6 > ens cookie bliver slettet
Avatar billede no_doubt Nybegynder
24. april 2001 - 20:41 #12
Ingen ?
Avatar billede no_doubt Nybegynder
24. april 2001 - 22:01 #13
Mon jeg skal lukker cyberfessor ?
Avatar billede jackpower Nybegynder
24. april 2001 - 22:18 #14
Mit bud vil være at som følge af Session.Abandon så er Sesssion(\"whatever\") = \"\"
Fordi den tømmer alle Session\'s...
Og derfor vil resten af scriptet ikke blive kørt...

Mvh
Jack!!
Avatar billede jackpower Nybegynder
24. april 2001 - 22:23 #15
Eller skrevet mere forståligt, den kan ikke slette denne
conn.execute(\"DELETE from user_log where (user = \'\"& session(\"useronline\") &\"\')\")
da session(\"useronline\") er tom...

Mvh
Jack!!
Avatar billede burningice Nybegynder
24. april 2001 - 22:27 #16
det var også det jeg tænkte... derfor prøvede jeg at bruge conn.execute(\"DELETE from user_log where (user = \'cyberfessor\')\") men det hjalp heller ikke...
Avatar billede jackpower Nybegynder
24. april 2001 - 22:29 #17
Har du prøvet at køre den i jeres logud script i stedenfor??
Avatar billede burningice Nybegynder
24. april 2001 - 22:31 #18
ja... og så virker det fint... problemet er bare at hvis brugere ikke bruger den men bare forlader sitet, ja så var det jo meningen at scriptet skulle køres ved timeout
Avatar billede jackpower Nybegynder
24. april 2001 - 22:38 #19
Det er fordi du ikke skal bruge Server.MapPath  men den direkte sti til DB\'en :o)
Avatar billede burningice Nybegynder
24. april 2001 - 22:49 #20
okaaay.. well.. hvorfor virker følgende så fint ??

Sub Session_OnStart

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"/log/db.mdb\")
set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM user_log\"
rs.open strSQL, conn, 1, 3
rs.addnew
rs(\"user\") = request.cookies(\"pauli\")(\"username\")
rs(\"time\") = now
rs.update
rs.close
set rs = nothing
conn.close
set conn = nothing
end if
End Sub

og nej... det hjalp heller ikke :(

det sjove er at jeg faktisk kan skrive ALT mellem himmel jord i stien til db... noget kunne tyde på at den slet ikke kører koden :(
Avatar billede burningice Nybegynder
24. april 2001 - 22:50 #21
rettelse

Sub Session_OnStart
if NOT session(\"useronline\") = \"Guest\" then
bla bla
Avatar billede no_doubt Nybegynder
24. april 2001 - 23:11 #22
Lukker, tror han har fået en løsning fra erik :-)
Avatar billede jackpower Nybegynder
24. april 2001 - 23:13 #23
Kan I så ikke lige poste den her? - kunne godt tænke mig lige at lure den af, for det burde sq virker det her....
Avatar billede burningice Nybegynder
24. april 2001 - 23:28 #24
auch... jackpower burde enlig havde fået alle pointene... da erik bad mig om at ændre stien til db\'en blev jeg mistænkelig... jeg havde godt nok gjort det en gang allerede da det jo også var jackpowers forslag, men det virkede ikke rigtig...

så efter lidt fix faxeri virkede det sq pludselig, og det var åbenbart det med stien...

Nå, det må pointene I finde ud af, det gider jeg ikke blande mig :)
Avatar billede no_doubt Nybegynder
24. april 2001 - 23:32 #25
Jack så laver jeg lige 50 til dig.
Avatar billede jackpower Nybegynder
24. april 2001 - 23:35 #26
cyberfessor>>... mente nok det skulle virke, gør det ihvertfald her ;o)

no_doubt>> Takker :o)

Mvh
Jack!!
Avatar billede no_doubt Nybegynder
24. april 2001 - 23:41 #27
Så lidt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester