/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Chat i asp - men hvad med "brutal" lukning~
Fra : Ukendt


Dato : 16-09-04 20:22

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.



 
 
Yoda.dk - Lars (16-09-2004)
Kommentar
Fra : Yoda.dk - Lars


Dato : 16-09-04 23:40

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.
>
>



Ukendt (17-09-2004)
Kommentar
Fra : Ukendt


Dato : 17-09-04 11:04

"Yoda.dk - Lars" <lars@yXoXdXa.dk> skrev i en meddelelse
news:414a13c2$0$267$edfadb0f@dread12.news.tele.dk...
> 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..

Se, den ide har jeg også arbejdet med... men det fungerede ikke helt... men
jeg vil da prøve at gennemtænke den..

> Desuden er det da lidt øv som din chat den "blinker"..

Jeg kan ikke helt se hvordan jeg i asp/html skal undgå det når siden
refresher?

> --
> Venlig hilsen
> Lars Andersen

Lars B



Jakob Andersen (17-09-2004)
Kommentar
Fra : Jakob Andersen


Dato : 17-09-04 12:03

"Lars B. Jensen" <lars[snabela]zulfo[dot]dk> wrote
> "Yoda.dk - Lars" <lars@yXoXdXa.dk> skrev i en meddelelse
>> Desuden er det da lidt øv som din chat den "blinker"..
> Jeg kan ikke helt se hvordan jeg i asp/html skal undgå det når siden
> refresher?

Hvis du ikke vil over i at bruge Java(måske flash) hvilket ville være det
optimale til en chat på web. Kan du lave det med javascript således at en
skjult frame opdateres og i denne er der er javascript der skriver det nye
tekst til vinduet med dine chatlinier. Og hvis folk så ikke har javascript
aktiveret må de leve med blinkeriet.

--
Jakob Andersen



Erik Ginnerskov (19-09-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 19-09-04 21:54

Lars B. Jensen wrote:

>> 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..
>
> Se, den ide har jeg også arbejdet med... men det fungerede ikke
> helt... men jeg vil da prøve at gennemtænke den..

Du må endelig lade det sive her, når og hvordan, når du får det til at
virke.
___________

I øvrigt, når jeg forsøger at logge ind på din chat, får jeg denne
fejlmeddelelse:

<%if len(Session("nick"))<1 then Response.Redirect("default.asp") end if %>

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste