Du kunne vel lave sådan at i stedet for at smide brugerne i en database, at
du gemmer dem i en application-variabel også ..
sammen med et tidspunkt.. for hvornår de sidst har hentet en side (altså
hvornår deres browser sidst har opdateret siden)
og hvis denne tid så er over 30 sekunder gammel, så logges brugeren af..
Desuden er det da lidt øv som din chat den "blinker"..
--
Venlig hilsen
Lars Andersen
"Lars Jensen" <lars [snabela] zulfo [punktum] dk> wrote in message
news:4149e767$0$25999$ba624c82@nntp03.dk.telia.net...
> Jeg har tidligere (for vel omkring 2 år siden) spurgt lidt til samme
> problemstilling, og egentlig gik mit projekt i vasken, netop fordi jeg
ikke
> kunne finde en løsning.
>
> Jeg har lavet en chat i ASP (kan ses på
http://www.zulfo.dk/chat2), og det
> fungerer egentlig udemærket. Chatlinier smides i en application variabel,
og
> udskrives.
>
> Brugerstyringen fungerer også fornuftigt, både med mulighed for gæstechat
og
> registrerede "nicks".
>
> Mit store problem er, at detektere hvis en bruger i stedet for at anvende
> "log ud"-knappen, brutalt lukker browseren, eller websiden, og således
skal
> logges ud...
>
> Jeg har forsøgt mig med at smide dette i et frameset:
>
> frameset OnUnload="location.href='logoff.asp';" rows="584,152" cols="*"
> frameborder="NO">
>
> Og jeg har forsøgt mig med følgende i Global.asa
>
> Sub Session_OnEnd
> MyConnectionString =
> "Driver={MySQL};Server=xxx;DATABASE=xxx;UID=xxx;PWD=xxxx"
> Set MyConn = Server.CreateObject("ADODB.Connection")
> MyConn.ConnectionString = Application(MyConnectionString)
> MyConn.Open MyConnectionString
> SQLCommand="delete from onlineuser where nick = '"&Session("nick")&"'"
> alert(SQLCommand)
> MyConn.Execute(SQLCommand)
> MyConn.Close
> End Sub
>
> Sub Application_OnStart
> for i=1 to 100
> chatline(i)=""
> Next
> End Sub
>
> sub Application_OnEnd
> MyConnectionString =
> "Driver={MySQL};Server=xxx;DATABASE=xxx;UID=xxx;PWD=xxxt"
> Set MyConn = Server.CreateObject("ADODB.Connection")
> MyConn.ConnectionString = Application(MyConnectionString)
> MyConn.Open MyConnectionString
> SQLCommand="delete from onlineuser where nick = '"&Session("nick")&"'"
> alert(SQLCommand)
> MyConn.Execute(SQLCommand)
> MyConn.Close
> end sub
>
> Men det fungerer ikke helt
>
> Er der nogen der har flere ideer til hvad jeg kunne gøre?
>
> På forhånd tak
>
> Lars B.
>
>