Avatar billede klinemann Nybegynder
03. februar 2007 - 13:33 Der er 13 kommentarer og
1 løsning

Indsæt data i database når session lukker..

hejsa, er det muligt at få noget data indsat i en session når den bliver lukket..
Avatar billede klinemann Nybegynder
03. februar 2007 - 13:34 #1
<% if session("brugernavn") <> "" then %>
Indsæt i databasen "Online"
<%else%>
Indsæt i databasen "Offline"
<%end%>
Avatar billede keysersoze Ekspert
03. februar 2007 - 14:02 #2
du kan benytte global.asa - her kan du bla udføre ting idet en session startes eller stoppes; http://activedeveloper.dk/articles/category/30/
Avatar billede klinemann Nybegynder
03. februar 2007 - 17:17 #3
hejsa, nu har jeg læst dit link

med kan du fortælle mig hvorfor den ikke rigtig vil den kode jeg har lavet?

Sub Session_OnEnd
   
    Dim Conn
   
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("amstaff.mdb")
    Conn.Open DSN
    Insert into bruger where brugernavn = '" & Session("brugernavn") & "' (brugeronline) values(offline)
    Conn.Close
    Set Conn = Nothing

End Sub
Avatar billede keysersoze Ekspert
03. februar 2007 - 17:27 #4
det besværlige ved global.asa er at du ikke kan se fejlmeddelelser, så sørg altid for at teste din kode på en asp-side først.

Der er i hvert fald flere oplagte ting;
- Du har slet ingen sql du udfører.
- syntakes er ikke valid
- din value er ikke valid

SQL = "update bruger set brugeronline = 'offline' where brugernavn = '" & Session("brugernavn") & "'"
conn.execute(SQL)

... måske

men som sagt så afprøv det på en normal asp-side.
Avatar billede klinemann Nybegynder
03. februar 2007 - 17:29 #5
okay.. så hvis den virke i asp er det bare at kopiere det ind?
Avatar billede keysersoze Ekspert
03. februar 2007 - 17:32 #6
nja - sådan mere eller mindre. Stien til databasen kan være anderledes eller lignende men som udgangspunkt ja.
Avatar billede klinemann Nybegynder
03. februar 2007 - 17:42 #7
okay.. for det virker fint i asp, men ikke i asa filen.. hvad kan der være galt ved du det?
Avatar billede keysersoze Ekspert
03. februar 2007 - 17:51 #8
jeg er ret sikker på at det fra 03/02-2007 17:17:20 ikke virker i asp - så hvis du har lavet noget om så kom lige med koden.
Avatar billede klinemann Nybegynder
03. februar 2007 - 17:53 #9
Sub Session_OnEnd
End Sub
Sub CleanUpCode
    Dim Conn
   
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("amstaff.mdb")
    Conn.Open DSN
    SQL = "update bruger set brugeronline = 'offline' where brugernavn = '" & Session("brugernavn") & "'"
    conn.execute(SQL)
    Conn.Close
    Set Conn = Nothing
End Sub
Avatar billede keysersoze Ekspert
03. februar 2007 - 17:54 #10
erhm - hvorfor har du pludselig lavet en "Sub CleanUpCode"? den bliver jo aldrig kørt...
Avatar billede klinemann Nybegynder
03. februar 2007 - 18:00 #11
jeg prøvede mig lidt frem.. men den virker heller ikke hvis jeg sætter den i OnEnd
Avatar billede klinemann Nybegynder
03. februar 2007 - 18:08 #12
kan det have noget at gøre med at der skal gå 20 minutter eller sådan noget?
Avatar billede keysersoze Ekspert
03. februar 2007 - 18:41 #13
ja selvfølgelig - ellers forsvinder din session vel ikke.
Avatar billede busschou Praktikant
04. februar 2007 - 09:20 #14
Jeg vil foreslå dig at læse denne artikkel hvor jeg også kommer med et konkret eksempel
Fx går det ikke at benytte Server.Mappath i Session_OnEnd
http://www.eksperten.dk/artikler/752
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