|
| online brugere lige nu? Fra : Thomas Brejner |
Dato : 16-05-03 17:06 |
|
Hvordan laver jeg et online bruger system, det har jeg tænkt
længe over. Jeg har et felt i min database som hedder online og
så snart session("profil") den kommer så skriver den ja i feltet
online men jeg ved ikke hvordan jeg skal lave så den slå den over
på nej lige så snart de lukker browseren. Håber der er nogen som
kan hjælpe...
Mvh Thomas
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Ukendt (16-05-2003)
| Kommentar Fra : Ukendt |
Dato : 16-05-03 18:37 |
|
"Thomas Brejner" <brejner@grineflippet.dk> wrote in message
news:ba328b$cup$1@sunsite.dk...
> Hvordan laver jeg et online bruger system, det har jeg tænkt
> længe over. Jeg har et felt i min database som hedder online og
> så snart session("profil") den kommer så skriver den ja i feltet
> online men jeg ved ikke hvordan jeg skal lave så den slå den over
> på nej lige så snart de lukker browseren. Håber der er nogen som
> kan hjælpe...
Husk, Google er din ven!
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&newwindow=1&threadm=3c658
1e7%240%24226%24ba624c82%40nntp03.dk.telia.net&rnum=1&prev=/groups%3Fselm%3D
3c6581e7%25240%2524226%2524ba624c82%2540nntp03.dk.telia.net
--
Mvh / Regards
-=< Christian >=-
What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk ICQ: 25308942
" If something's hard to do, then it's not worth doing. Homer J. Simpson"
| |
Anders Lund (16-05-2003)
| Kommentar Fra : Anders Lund |
Dato : 16-05-03 19:50 |
|
"Christian M. Nielsen" <news( A T)cmnielsen( D*O*T )dk> skrev i en
meddelelse news:3ec521cd$0$302$ba624c82@nntp05.dk.telia.net...
> Husk, Google er din ven!
>
>
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&newwindow=1&threadm=3c658
>
1e7%240%24226%24ba624c82%40nntp03.dk.telia.net&rnum=1&prev=/groups%3Fselm%3D
> 3c6581e7%25240%2524226%2524ba624c82%2540nntp03.dk.telia.net
Så vidt jeg kan se, anbefales det i tråden at man bruger glabal.asa, hvilket
jeg ikke vil. Den har nemlig en eller anden fejl, den glemmer af og til at
slette sessions.
Jeg kan som et eksempel sige at på en side jeg er programmør for, er der 119
online brugere ifølge global.asa og 85 brugere ifølge et system som jeg har
udviklet med baggrund i
http://www.netcoders.dk/articles.asp?mode=show_article&article_id=93&tech_id
=1
--
Mvh
Anders Lund
AndersGED@zaim.dk
fjern geden fra min email adresse
| |
Thomas Brejner (16-05-2003)
| Kommentar Fra : Thomas Brejner |
Dato : 16-05-03 22:25 |
|
Kan man lave noget med at den køre en kode når browseren lukkes? så den fx
sætter false i en database lige inden den lukker browseren?
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (16-05-2003)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 16-05-03 22:25 |
|
Anders Lund skrev:
> Så vidt jeg kan se, anbefales det i tråden at man bruger
> glabal.asa, hvilket jeg ikke vil. Den har nemlig en eller
> anden fejl, den glemmer af og til at slette sessions.
Nej. "Fejlen" - som ikke rigtig er en fejl - er at session_onEnd
først køres når en session slutter. Medmindre at en bruger
eksplicit logger ud så man kan fange det med session.abandon har
man ikke nogen mulighed for at vide præcis hvornår en bruger
forlader ens site.
> Jeg kan som et eksempel sige at på en side jeg er programmør
> for, er der 119 online brugere ifølge global.asa og 85 brugere
> ifølge et system som jeg har udviklet med baggrund i
> http://www.netcoders.dk/articles.asp?mode=show_article&article_
> id=93&tech_id =1
Nu ved jeg ikke hvordan dit global.asa-system er lavet, men jeg har
siden starten af dette år haft en onlinetæller baseret på
global.asa. Jeg har på intet tidspunkt oplevet at antallet af
onlinebrugere stiger uhæmmet, sådan som netcodersartiklen ellers
påstår.
Der kan sagtens være forskel mellem de to systemer - hvis der fx
går 20 minutter før en bruger forsvinder i global.asa-udgaven, men
kun 2 minutter i den anden vil global.asa-udgaven naturligvis have
et højere tal. Det er bare ikke det samme som at tallet bare stiger
og stiger.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Thomas Brejner (16-05-2003)
| Kommentar Fra : Thomas Brejner |
Dato : 16-05-03 22:40 |
|
Hmm nu er det sådan at jeg kender ikke noget som helst til
global.asa jeg har da bare nogle include filer hvor der ligger en
masse asp koder i.
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Thomas Brejner (17-05-2003)
| Kommentar Fra : Thomas Brejner |
Dato : 17-05-03 14:29 |
|
Nu har jeg prøvet at lave et lille system men jeg synes ikke rigtig
den kode til at sætte offline virker optimalt der skal gå 2 min så
skal den automatisk sætte offline igen.
Den første kode sætter online altså sætter true, og det virker fint.
Men så den næste skal sætte false alle de steder hvor der er gået 2
fra onlinetime og til den tid der er nu... hvad er fejlen i det
sidste stykke kode?
<%
if session("profil") = "ja" then
set Conn = Server.createobject("adodb.connection")
conn.Open "DBQ="& Server.MapPath(".") &"/profil/profil.mdb;
DefaultDir=DBQ="& Server.MapPath("/") &";Driver={Microsoft Access
Driver (*.mdb)};"
set rs = Server.CreateObject("ADODB.Recordset")
SQL = "select * from profil where id = "&Session("id")
rs.open SQL,Conn ,3,3
RS.Update
RS("ip") = Request.ServerVariables("REMOTE_ADDR")
RS("online") = True
RS("onlinetime") = FormatDateTime(Now, vbShortTime)
RS.Update
Conn.Close
Set Conn = Nothing
end if
%>
Dette stykke kode skulle sætte false efter 2 min men virker ikke
optimalt hvorfor?
<%
if onlinetime <= 2 then
set Conn = Server.createobject("adodb.connection")
conn.Open "DBQ="& Server.MapPath(".") &"/profil/profil.mdb;
DefaultDir=DBQ="& Server.MapPath("/") &";Driver={Microsoft Access
Driver (*.mdb)};"
set rs = Server.CreateObject("ADODB.Recordset")
SQL = "select * from profil"
rs.open SQL,Conn ,3,3
RS.Update
RS("online") = False
RS.Update
Conn.Close
Set Conn = Nothing
end if
%>
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
pepss (17-05-2003)
| Kommentar Fra : pepss |
Dato : 17-05-03 19:18 |
|
Jens GyldenkærneClausen wrote:
> Nu ved jeg ikke hvordan dit global.asa-system er lavet, men jeg
har
> siden starten af dette år haft en onlinetæller baseret på
> global.asa. Jeg har på intet tidspunkt oplevet at antallet af
> onlinebrugere stiger uhæmmet, sådan som netcodersartiklen ellers
> påstår.
er det en Access database du bruger? jeg har hørt at der ikke skulle
være problemer med MySql men kun Access når man gør det på den måde!
vist det er Access du bruger vil jeg meget gerne vide hvordan du har
bygget det på!
pepss
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jesper Stocholm (17-05-2003)
| Kommentar Fra : Jesper Stocholm |
Dato : 17-05-03 19:32 |
|
Jens Gyldenkærne Clausen wrote :
> Nu ved jeg ikke hvordan dit global.asa-system er lavet, men jeg har
> siden starten af dette år haft en onlinetæller baseret på
> global.asa. Jeg har på intet tidspunkt oplevet at antallet af
> onlinebrugere stiger uhæmmet, sådan som netcodersartiklen ellers
> påstår.
Jeg har samme oplevelse. Jeg har haft en tæller med det samlede antal
online brugerekørende på et website i efterhånden nogen tid - og jeg har
kun én gang oplevet, at tælleren gik amok ... resten af tiden har den
opført sig som "den skal".
--
Jesper Stocholm - http://stocholm.dk
Svar til gruppen og ikke til mig privat !
Skriv under det du svarer på - www.usenet.dk/netikette/citatteknik.html
| |
Thomas Brejner (17-05-2003)
| Kommentar Fra : Thomas Brejner |
Dato : 17-05-03 23:04 |
|
Nu har jeg prøvet at lave et nyt stykke kode men det kommer blot med denne
fejl: Object or provider is not capable of performing requested operation.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("profil/profil.mdb")
Conn.Open DSN
strSQL = "Select * from profil where Datediff('d', onlinetime, Now) > 2"
Set rs = Conn.Execute(strSQL)
RS.Update
RS("online") = False
RS.Update
Conn.Close
Set Conn = Nothing
%> <--- sådan ser koden ud, hvad kan fejlen være?
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jesper Stocholm (17-05-2003)
| Kommentar Fra : Jesper Stocholm |
Dato : 17-05-03 23:19 |
|
Thomas Brejner wrote :
> Nu har jeg prøvet at lave et nyt stykke kode men det kommer blot med
> denne fejl: Object or provider is not capable of performing requested
> operation.
>
> <%
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN = DSN & "DBQ=" & Server.MapPath("profil/profil.mdb")
> Conn.Open DSN
>
> strSQL = "Select * from profil where Datediff('d', onlinetime, Now) >
> 2" Set rs = Conn.Execute(strSQL)
>
> RS.Update
> RS("online") = False
> RS.Update
>
> Conn.Close
> Set Conn = Nothing
> %> <--- sådan ser koden ud, hvad kan fejlen være?
Det er jo et godt spørgsmål ... men du kan jo starte med at fortælle,
hvilken linie din fejl kommer fra.
--
Jesper Stocholm - http://stocholm.dk
www.asp-faq.dk: FAQ for dk.edb.internet.webdesign.serverside.asp
www.usenet.dk/netikette/citatteknik.html: Skriv under det du svarer på
Svar venligt til gruppen og ikke til mig privat !
| |
Thomas Brejner (18-05-2003)
| Kommentar Fra : Thomas Brejner |
Dato : 18-05-03 09:09 |
|
> Det er jo et godt spørgsmål ... men du kan jo starte med at fortælle,
> hvilken linie din fejl kommer fra.
RS.Update
RS("online") = False
RS.Update
det er i disse linier den siger fejlen er men jeg forstår det sgu ikke
helt....
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Thomas Brejner (18-05-2003)
| Kommentar Fra : Thomas Brejner |
Dato : 18-05-03 10:56 |
|
Ok nu har jeg næsten prøvet alt hvad jeg kan komme på men lige lidt virker
det her er det sidste jeg har lavet men den sætter ikke false, og kommer
ikke med en fejl. Ved i hvad fejlen kan være?
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("profil/profil.mdb")
Conn.Open DSN
strSQL = "Select * from profil where Datediff('n', onlinetime, Now) < 1"
Set rs = Conn.Execute(strSQL)
If rs.EOF Then
else
End if
Do While not rs.EOF
RS.Update
RS("online") = False
RS.Update
rs.MoveNext
Loop
Conn.Close
Set Conn = Nothing
%>
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Torben Brandt (18-05-2003)
| Kommentar Fra : Torben Brandt |
Dato : 18-05-03 15:23 |
|
Thomas Brejner wrote:
> Nu har jeg prøvet at lave et nyt stykke kode men det kommer blot med denne
> fejl: Object or provider is not capable of performing requested operation.
>
> strSQL = "Select * from profil where Datediff('d', onlinetime, Now) > 2"
> Set rs = Conn.Execute(strSQL)
>
> RS.Update
> RS("online") = False
> RS.Update
Lige et skud fra hoften :)
Når man laver er recordset med conn.execute er det så mon ikke åbnet med
en cursor/rettigheder, så man ikke kan sætte felterne i det...
/Torben
| |
Jens Gyldenkærne Cla~ (16-05-2003)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 16-05-03 23:43 |
|
Thomas Brejner skrev:
> Kan man lave noget med at den køre en kode når browseren
> lukkes? så den fx sætter false i en database lige inden den
> lukker browseren?
Nej, du - det vil sige webserveren/asp-siden - kan ikke vide
hvornår en browser bliver lukket. Når en browser har modtaget en
webside (html eller asp) er der ingen kontakt mellem server og
browser før der næste gang klikkes på noget. Derfor er der ingen
måde at sende informationen "browseren lukker" tilbage til
aspsiden.
Man kan dog bruge javascript til at åbne en side der logger af,
hvis brugeren lukker browseren. Metoden vil formentlig bare fejle
hvis brugeren har blokeret pop op-vinduer eller på anden måde
begrænset mulighederne med javascript.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jens Gyldenkærne Cla~ (18-05-2003)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 18-05-03 10:22 |
|
pepss skrev:
> er det en Access database du bruger?
Nej, online-tælleren bruger slet ingen database - kun en
applicationvariabel.
I resten af applikationen bruger jeg MSSQL 2000.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
pepss (18-05-2003)
| Kommentar Fra : pepss |
Dato : 18-05-03 07:13 |
|
Thomas Brejner wrote:
> Hvordan laver jeg et online bruger system, det har jeg tænkt
> længe over. Jeg har et felt i min database som hedder online og
> så snart session("profil") den kommer så skriver den ja i feltet
> online men jeg ved ikke hvordan jeg skal lave så den slå den over
> på nej lige så snart de lukker browseren. Håber der er nogen som
> kan hjælpe...
her er en måde at gøre det på men som jens siger kan det godt gå
galt vist brugeren har blokeret pop op-vinduer
http://www.opello.dk/articles.asp?AID=5
pepss
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
|
|