Avatar billede cardinale Nybegynder
24. marts 2003 - 18:04 Der er 13 kommentarer og
1 løsning

Global.asa

Hvad er der galt med denne global.asa?

Den skal slette fra en db, når brugeren lukker explorer.

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
<!-- #INCLUDE file="db.asp" -->
Sub Application_OnStart
Application.Lock
Application.Unlock
End Sub

Sub Session_OnStart
End Sub


Sub Session_OnEnd

dim objConn
dim objRS

set objConn = Server.CreateObject("ADODB.Connection") 

objConn.Open dbConnString


strsession = session.sessionID

sql = "DELETE FROM bestilling WHERE sessionsid = '" & strsession & "'"

conn.execute(sql)
Conn.Close
Set Conn = Nothing

End sub


</SCRIPT>
Avatar billede jeg_var_gangsta Nybegynder
24. marts 2003 - 18:12 #1
Du skal få brugerens session til at udløbe efter et bestemt tidsrum.. Har et lignende script liggende et eller andet sted, kigger lige :)
Avatar billede jeg_var_gangsta Nybegynder
24. marts 2003 - 18:13 #2
Sub Session_OnStart
    Session.Timeout = 10
end Sub
^ Der var den :)
Tallet repræsenterer en værdi i minutter.
Avatar billede jeg_var_gangsta Nybegynder
24. marts 2003 - 18:15 #3
Du kan ikke få brugerens session til at expire præcis når explorer/netscape/whatever bliver lukket, men efter et antal minutter hvor brugeren er inaktiv.
Dvs at hvis du vil bruge dette script til et login-system, skal du være opmærksom på at, at hvis brugeren er inaktiv i X antal minutter vil session_onend blive udført.
Avatar billede cardinale Nybegynder
24. marts 2003 - 18:17 #4
Ok prøver lige. Dvs at denne skulle slette 10 min efter explorer er lukket ned - ca?
Avatar billede jeg_var_gangsta Nybegynder
24. marts 2003 - 18:17 #5
Ja, ca.
Avatar billede jeg_var_gangsta Nybegynder
24. marts 2003 - 18:17 #6
Sæt evt. session.timeout til 1 for at få det til at gå hurtigere...
Avatar billede jeg_var_gangsta Nybegynder
24. marts 2003 - 18:19 #7
Se evt.
http://www.eksperten.dk/spm/219337
Det var sådan jeg selv fandt ud af det i tidernes morgen :)
Avatar billede cardinale Nybegynder
24. marts 2003 - 18:19 #8
Den siger at man ikke kan bruge include...

Det er nok denne den hentyder til - <!-- #INCLUDE file="db.asp" -->
Avatar billede jeg_var_gangsta Nybegynder
24. marts 2003 - 18:20 #9
Ja, <!-- #INCLUDE file="db.asp" --> skal enten være før <SCRIPT LANGUAGE=VBScript RUNAT=Server> eller også skal du skrive hele koden du bruger til at forbinde til din db med i <SCRIPT.....></SCRIPT>
Avatar billede jeg_var_gangsta Nybegynder
24. marts 2003 - 18:21 #10
Tror forresten du bliver nødt til at skrive hele koden i <script>-tagget.
Avatar billede cardinale Nybegynder
24. marts 2003 - 18:36 #11
Det virker sgu ikke...

Den melder ikke fejl - der sker bare ikke noget.

Jeg ved ikke hvor fejlen ligger. Jeg har skrevet min db-connection ind global.asa - istedet for at bruge include. Det virker dog ikke. Den er oxo lagt i roden.

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart
Application.Lock
Application.Unlock
End Sub

Sub Session_OnStart
    Session.Timeout = 1
end Sub



Sub Session_OnEnd

    SQLserveradr="xxx.xxx.dk"
    SQLdatabase="xxx_dk"   
    SQLlogin="xxx_dk"
    SQLpassword="xxx"
   
dbConnString ="driver={MySql};server="& SQLserveradr &";database="& SQLdatabase &";uid="& SQLlogin &";pwd="& SQLpassword

dim objConn
dim objRS

set objConn = Server.CreateObject("ADODB.Connection") 

objConn.Open dbConnString


strsession = session.sessionID

sql = "DELETE FROM bestilling WHERE sessionsid = '" & strsession & "'"

conn.execute(sql)
Conn.Close
Set Conn = Nothing

End sub


</SCRIPT>
Avatar billede carpediem Nybegynder
24. marts 2003 - 18:55 #12
Lav din Sub Session_OnEnd
Lav så en unload.asp der ser således ud:
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<HTML><HEAD><title>Log af</title></HEAD>
<BODY><P>Logger af...</P>
<%
Session.Abandon
%>
<SCRIPT LANGUAGE=javascript>
<!--
   
    window.parent.close();
//-->
</SCRIPT>
</BODY>
</HTML>

På alle dine side sætter du så denne i din body:
onBeforeUnload="java script:window.open('Include/unload.asp', 'Unload', 'width=25, height=25, toolbar=no, scrollbars=no, location=no, status=no')"
Avatar billede carpediem Nybegynder
24. marts 2003 - 18:57 #13
Når der står include/unload.asp i mit eksempel, så er det fordi, jeg har lavet det lidt anderledes og har mine include filer i et include bibliotek.
Så hvis du ligger unload.asp i roden ser det selvfølgelig således ud:
onBeforeUnload="java script:window.open('unload.asp', 'Unload', 'width=25, height=25, toolbar=no, scrollbars=no, location=no, status=no')"
Avatar billede cardinale Nybegynder
24. marts 2003 - 19:47 #14
har fundet ud af fejlen.

conn.execute(sql)
Conn.Close
Set Conn = Nothing

Skal self være

objconn.execute(sql)
objConn.Close
Set objConn = Nothing
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

IT-JOB