global.asa

Tags:    asp

<< < 12 > >>
Hej experter

Jeg skal bruge lidt hjælp til hvordan man laver en global.asa fil.

Jeg skal bruge den til et login system hvor jeg gerne vil have at feltet "online" i min access database bliver sat til "nej" el. "false" når brugeren forlader siden eller lukker browseren ned.

Har fået af vide at det laves med global.asa filen og har også leget lidt med det, men har aldrig fået det til at virke.

Det ville være dejligt me lidt kode til at illustrere det.

Mvh.
Søren Pedersen



12 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Smid følgende i global.asa og vær 100% sikker på at du ikke har lavet nogen databasefejl før du egentligt gemmer den som global.asa (test eventuel bare SQL sætningen i en almindelig asp fil først):


<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Session_OnEnd
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=DIN_DATABASE; UID=DIT_BRUGERNAVN; PWD=DIT_PASSWORD;"
strOnline = "Update brugere set online= 'no' Where navn = '" & session("brugernavn") & "'"
myConn.Execute(strOnline)
myConn.Close
Set myConn = Nothing
End Sub
</SCRIPT>



Her er lidt kode du kan starte med:
Fold kodeboks ind/udKode 


OnStart bliver udført når personen browser ind på siden. Du skal derfor ikke opdatere databasefeltet her, men istedet når han rent faktisk logger ind.
OnEnd bliver udført når session timer ud eller afbrydes (Session.Abandon)


Håber det hjælper


Mvh,

Thomas Nielsen

[Redigeret d. 27/02-06 12:45:41 af Thomas Nielsen]



Så langt er jeg også nået, men det er selve koden som gør brugeren offline som jeg ikke kan få til at virke



Så vidt jeg husker kan man ikke programmere asp <%%> i en Global.asa fil

det tætteste du kommer, er nok at lave en event. som er baseret på tid.

Global asa kan kun holde styr på det globale, ikke gå ned i detaljer med hver enkelt person.

Med global.asa kan du nok allerhøjest få tal på hvor mange der er på siden.



Hvordan kan jeg så gøre sådanne at når brugere lukker browseren, bliver vedkommende automatisk logget af i databasen.



Har fået af vide at man ikke kan gøre det du prøver på der.

Sessionen er jo lukket når koden i session_onend afvikles. Eller er den ikke?



Jeg bruger det selv, og det virker altså.. Men hos nogle webhosts har de slået global.asa fra



Hej Martin

Nu har jeg prøvet et par gange på min egen server, og jeg kan ikke få det til at virke. Har jeg ikke skrevet global.asa filen rigtigt?

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
' Skriv kode som skal køres når applikationen (serveren) starter
End Sub

Sub Application_OnEnd
' Skriv kode som skal køres når applikationen (serveren) stoppes
End Sub

Sub Session_OnStart
' Skriv kode som skal køres når en session starter
End Sub

Sub Session_OnEnd
Set myConn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db/dbase.mdb")
myConn.Open DSN
strOnline = "Update brugere set online = false Where id = '" & session("bruger_id") & "'"
myConn.Execute(strOnline)
myConn.Close
Set myConn = Nothing
End Sub
</SCRIPT>



Skal du ikke have ' omkring false ?


Update brugere set online = 'false' Where id



nej for feltet er ikke et tekstfelt, det er et ja / nej felt.



<< < 12 > >>
t