Avatar billede Thomas Knudsen Nybegynder
10. november 2003 - 10:50 Der er 5 kommentarer og
1 løsning

Session_OnEnd i Global.asa

Login/logout-system som virker fint, når brugeren skifter side manuelt eller helt lukker browser. Det jeg mangler er når en Session laver time-out. Der regner jeg med at kunne bruge den samme kode. Mit håb er at den kan kalde en fil. Det virker nemlig fint, når Onunload() kalder filen i mit frameset.

Her er mit forsøg på noget, men jeg fatter ikke VB og måske er der fejl i syntaxen. I hvert fald sker der intet, selv om browser står i timevis. Normalt laver jeg scripts i JS, men alt i Global.asa filen er nu VB, så jeg måtte hellere blive i samme sprog ;O)

<Script Language="VBScript" RUNAT="Server">

Sub Session_OnEnd
Dim LogOut
Set LogOut = window.open("/login/logout.asp",null,"toolbar=no,width=380,height=80,resizable=0")
LogOut.focus()
End Sub

</Script>

Håber I lige har et råd, som sparker mig videre..
Avatar billede erikjacobsen Ekspert
10. november 2003 - 10:56 #1
Du kan ikke blande klient-javascript og server-asp kode.

Prøv først at skrive koden fra logout.asp i din session_onend.
Avatar billede Thomas Knudsen Nybegynder
10. november 2003 - 11:15 #2
Mange tak for det. Kan godt se der måske er et forståelsesproblem der ;O)
Her er så mit næste forsøg, men det var jo ren JS, som jeg ikke lige kan konvertere bare ved at fjerne lidt ; for enden af linjerne?

Har lige fjernet databasekodeord ;)
"profileid" er nøglen i tabellen Profile og den lægges i en Session og en cookie, da jeg ikke regner med at kunne tilgå den, når den er timed out.

Sub Session_OnEnd
    var profileid = Request.Cookies("Profileid")
    if (profileid!==undefined){
    var DATABASE = Server.CreateObject("ADODB.Connection")
    DATABASE.open("DRIVER={MySql}; SERVER=mysql4.xxxx.dk; DATABASE=xxx_dk_db; UID=xxx; PWD=xxx")
    var sql = "UPDATE PROFILE SET Online=0 WHERE Profileid="+profileid
    DATABASE.execute(sql)
    Session.Contents.RemoveAll()
    Session.Abandon;
    }
End Sub

Giver dog denne fejl:
Microsoft VBScript compilation error '800a03ee'

Expected ')'

//global.asa, line 57

if (profileid!==undefined){
-------------^
Avatar billede medions Nybegynder
10. november 2003 - 11:16 #3
Venligst flyt dette spm til ASP kategorien, eftersom dette er VBScript kategorien...

//>Rune
Avatar billede Thomas Knudsen Nybegynder
10. november 2003 - 11:26 #4
Oversætter jeg en dansk tekst til spansk, så spørger jeg da en spanskkyndig og ikke en dansker. Derfor mener jeg det er rette gruppe, når det er en smule ASP/JS som jeg gerne vil konvertere til VB.

Kommer der senere en VB mand med samme problem som mig, skal han da ikke lede i ASP forum efter en løsning som faktisk ender med at være kodet i VB.
Avatar billede erikjacobsen Ekspert
10. november 2003 - 12:00 #5
Forskellig fra hedder <>

Der er heller ikke noget der hedder "var"

Men der er ingen request-objekt, da der jo ikke er et request. Du kan
gemme de oplysninger i en session variabel.
Avatar billede Thomas Knudsen Nybegynder
15. december 2003 - 19:25 #6
Jeg satte Session.Timeout så højt at det må regnes for mest sandsynligt at vedkomende selv slukker browser inden da.
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