jag har en iframe som uppdaterar typ min online om du lämnar sidan så uppdaterar den inte min online utan timern stannar och det sparas i databasen. Vi säger att jag varit 5 min online och sen så stänger jag sidan utan och logga ut så när du går in i onlinelistan så ser du mig 5 min online men jag inte e online. Jag vill att när man stänger browsern ska den nollställa användarens min online fält.
det ska gå på nått sätt i alla fall med global.asa eller utan. så här ser resten av 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
I global.asa kan du använda Session OnEnd, tyvärr är det inte alltid den körs :( Tror inte det går att göra på nått annat sätt, iaf inte utan global.asa.
Däremot finns det andra alternativ i SQL frågan för att visa vilka som är online, visa bara dom som har en tidsskillnad från nu och 5 minuter bakåt!
T ex:
"select * from Online where date_add(Timefield,interval 20 minute) >= current_timestamp"
Om man bara stänger browsern t ex så är det enbart global.asa och session_onEnd som gäller. men om man byter sida så kan du sätta i body-taggen, om du kör med frameset, en onUnload!
jag kör med det just nu fast dålig om man stänger av datorn med knappen da då loggas man inte ut!!! Loggas man ut när man kör session_onend när man stänger av datorn med knappen???