webForumDet fria alternativet

Snälla snälla behöver hjälp

ASP

6 svar · 180 visningar · startad av jboy_87

Medlem sedan aug. 20011 099 inlägg
Frågan#1

jag avänder detta när man loggar in så startas det en timer som räknar hur länge besökaren har varit online.
Men när besökaren inte loggar ut korrekt så stannar timern t e.x. om användaren är online i 5 min så stänger han browsern och inte loggar ut korrekt och då står det på han att han e online och har varit online i 5 min timern stannar.
Går det på nått sätt och fixa så att han blir uttlogad automatiskt med hjälp av timern som e stoppad??

så här ser koden ut:

<%
minutes = datediff("n",cdate(session("minonline")),now())
response.write "" & minutes & "" %><%minutes = datediff("n",cdate(session("minonline")),now())
set connect22 = server.createobject("adodb.connection")
Connect22.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/members.mdb")&""
connect22.execute "update members set minonline = " & minutes & " where id = " & session("id"),,128

minutes = datediff("n",cdate(session("minonline")),now())
if minutes > 60 then
points = 3

connect22.execute "update members set minonline = " & minutes & " , poang = " & points &" where id = " & session("id"),,128

Connect22.close
Set Connect22 = nothing
end if
minutes = datediff("n",cdate(session("totalminonline")),now())
Set connect55 = server.createobject("adodb.connection")
Connect55.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/members.mdb")&""
connect55.execute "update members set totalminonline = totalminonline + " & minutes & " where id = " & session("id"),,128

%>

------------------
ASP är bäst fuck the rest!!!

Medlem sedan feb. 2001390 inlägg
#2

det skulle väl gå med Session.OnEnd i global.asa?

------------------
En sak livet lärt mig är att idioterna oftast har rätt

Medlem sedan aug. 20011 099 inlägg
#3

ja men hur????

------------------
ASP är bäst fuck the rest!!!

Medlem sedan maj 20009 inlägg
#4

Session_OnEnd är buggig och inträffar inte alltid som den ska.

Det enda som fungerar bra i sådana här samanhang är följande:

Vid login stoppar man in user_id (eller session_id om man vill) samt en tidsstämpel i en array i application variabeln.

Sedan har man en dold IFrame som uppdaterar denna array en gång i minuten eller så. Samtidigt som den uppdaterar, kollar den även om någons tidsstämpel är äldre än en minut. Om så är fallet plockas användaren bort ur arrayen.

På så vis har man alltid aktuell data över vilka som är online (sånär som på 60 sekunder).

(Vill man stödja Netscape får man lite mer problem, men det går att lösa med lite fantasi.)

//Micke

Medlem sedan okt. 2001538 inlägg
#5

Klarar Netscape av att hantera frames där man lagt med en frame utan att ge den något utrymme att visas på?
Det skulle ju kunna fungera även i Netscape då... istället för iframes...
Hörde om att preloada bilder med en frame för längesedan, där man skapade en sida som innehöll alla bilder på siten (bg å grafik å sånt) som laddades i den framen, men sidan hade aldrig blivit tilldelad något utrymme, utan bara "fanns" å loadade bilderna, och man såg aldrig den sidan typ... *var det luddigt nog?*
;)

MVH Patrik

------------------
Minds are like parachutes;
they only work when they´re open

Medlem sedan aug. 20011 099 inlägg
#6

jag vet ej hur man hanterar global.asa kan bara lite om den???

------------------
ASP är bäst fuck the rest!!!

Medlem sedan aug. 20011 099 inlägg
#7

jag kör en frame som uppdaterar min online varje min och när användaren inte loggar ut korrekt så stannar timern.

typ 3 min online så om man går in i onlinelistan så står det 3 min online om användaren inte loggar ut korrekt så stoppas timern.

kan man göra så att när timern stannat logga ut användarens automatiskt och sätta honom på offline??

------------------
ASP är bäst fuck the rest!!!

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)