Avatar billede galadrijela Nybegynder
29. december 2005 - 23:36 Der er 13 kommentarer

Global.asa

jeg vil gerne have information om online brugere på min side, så har jeg prøvet at lave Global.asa fil, som desværre fungere ikke.
Oplysninger om brugeren er i Access DB og jeg vil gerne at Global.asa filen opdatere databasen sådan at onStart indskrive en "ja" i online feltet i databasen, og onEnd indskrive en "nej". Min Global.asa filen ser sådan ud:

<script language="vbscript" runat="server">
Sub Session_OnStart
 
  Dim objSecurity
  Session.Timeout = 100
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("clanovi.mdb") & ";"
Conn.Open DSN

strSQL = "UPDATE profil SET online = 'ja' WHERE kime = '"& Session("kime")&"'"
    Conn.Execute(strSQL)

End Sub

sub Session_OnEnd
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("clanovi.mdb") & ";"
Conn.Open DSN


    strSQL = "UPDATE profil SET online = 'nej' WHERE kime = '"& Session("kime")&"'"
    Conn.Execute(strSQL)
end sub
</script>

Hvad mangler der?
Avatar billede keysersoze Guru
30. december 2005 - 09:49 #1
jeg vil mene at din session_onstart køres idet en bruger kommer ind på sitet og ikke idet brugeren logger ind - idet brugeren kommer ind på sitet tildeles jo et sessionid og dér findes Session("kime") næppe og uden dog selv at have eksperimenteret med det kan jeg ikke tro at session_onstart også afvikles idet du sætter ekstra session-varibaler. Du skal istedet sætte brugeren til at være online samme sted som hvor du sætter Session("kime") - dvs i dit login-script.

din session_onend ser rigtig nok ud - men prøv for en sikkerheds skyld at teste den i forbindelse med dit logout-script og se om det fungerer som det skal eller ej.
Avatar billede Slettet bruger
30. december 2005 - 10:07 #2
Har lade mig fortælle at server.mappath ikke fungrer i global.asa, prøv at erstatte dem fullpath istedet så skulle der fungerer.
Avatar billede galadrijela Nybegynder
30. december 2005 - 11:58 #3
Du har rat, jeg har sættet brugeren til at være online i mit login-script, og den fungere nu. Men jeg har stadig problem med log ud. Hvis brugeren bruger knappen "log ud", det fungere fint, men hvis brugeren bare forlade siden bliver det ikke registreret, selvom Session er udløbet (dvs. efter 20 min), så session_onend virker ikke :(((
Avatar billede Slettet bruger
30. december 2005 - 12:12 #4
Her du prøvet med server.mappath ??
Avatar billede galadrijela Nybegynder
30. december 2005 - 12:18 #5
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("www.carstvolokvanja.com/www/clanovi.mdb") & ";"

jeg har skrevet sådan, er det ok? (jeg får ikke en fejlmeddelse)
Avatar billede Slettet bruger
30. december 2005 - 12:21 #6
www.carstvolokvanja.com/www/clanovi.mdb er ikke stien det skal være på formen

c:\noget\nogetmere\fil.mdb, hvis det er hostet skal du spørger hvad det hedder.
Avatar billede galadrijela Nybegynder
30. december 2005 - 12:31 #7
ok, jeg har prøvet nu at køre den lokalt på min maskine, med den regtige lokale sti, og intet er ændret... :((
Avatar billede Slettet bruger
30. december 2005 - 12:38 #8
Du siger det fungere med log-ud knap , hvad adskiller koden ved logud og så det der står i session_on end
Avatar billede galadrijela Nybegynder
30. december 2005 - 12:43 #9
Sådan ser ud log-ud:

vreme = Now
strSQL = "UPDATE profil SET logud = '" & vreme & "',online ='nej' WHERE kime = '"& Session("kime")&"'"
    Conn.Execute(strSQL)
Session.Abandon()

og sådan session_on end

  strSQL = "UPDATE profil SET online = 'nej' WHERE kime = '"& Session("kime")&"'"
    Conn.Execute(strSQL)

så det er tiden som jeg opdatere i log-ud og Session.Abandon()... skal jeg have det også i session_on end?
Avatar billede Slettet bruger
30. december 2005 - 12:49 #10
Prøv dog, kan ikke umiddelbart se hvorfor det ikke skulle fungere, men hvor sætter du ikke logud ved session_onend, ikke at det sikkert betyder det store>?
Avatar billede galadrijela Nybegynder
30. december 2005 - 12:56 #11
vil prøve det også.... tak for hjælpen :)
Avatar billede busschou Praktikant
01. januar 2006 - 13:48 #12
Godt nytår :o)
Ved ikke hvor langt der er kommet, men et er at man jo ikke får fejlmedelelser i global.asa, og derfor er den lidt drilsk at debugge

kryptos har ganske ret i at man ikke kan benytte server.mappath i session_onend!

Jeg har for lang tid siden lavet en lille artikkel du evt kan læse
http://eksperten.dk/artikler/752
Der er et eksempel på en logud funktion, bemærk dog at du aldrig kan være 110% sikker på at session_onend køres.

PS: får for tiden desværre ikke nogen mails fra exp, så ser ikke hvis der kommer kommentarer :o/ :o(
Avatar billede keysersoze Guru
06. februar 2006 - 16:26 #13
lukketid?
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