24. januar 2001 - 14:51Der er
20 kommentarer og 2 løsninger
Online System
Jeg mangler et system hvor man logge sig ind og så se hvilke andre brugere der er online. Dvs. at man kan se deres brugernavn. og Eventuelt andre oplysninger om dem. Jeg kan ikke bare nøjes med antallet af Online brugere. Men antallet skal jeg nu også gerne kunne få. Ligesom de har på http://www.activeserverpages.dk/ under Community eller på www.Dating.dk
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
kommer-nie>> For det første, så mangler du en do while NOT rs.EOF løkke. For det andet, så lister du vel bare alle brugerne og ikke kun de brugere der er online
<% Dim conn set conn = server.createobject (\"ADODB.Connection\") conn.Open = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Inetpub\\wwwroot\\BegASP\\DIN Database.mdb;\" SQL = \"Select * FROM Brugere ORDER BY dato DESC\" set RS = conn.execute ( SQL ) Do While Not RS.EOF Response.Write RS(\"BrugerNavn\") & \"<br>\" Response.Write RS(\"Navn\") & \"<br>\" Response.Write RS(\"Bopæl\") & \"<br>\" Response.Write RS(\"Beskrivelse\") & \"<br>\" set conn=Nothing %>
<% Dim conn set conn = server.createobject (\"ADODB.Connection\") conn.Open = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Inetpub\\wwwroot\\BegASP\\DIN Database.mdb;\" SQL = \"Select * FROM Brugere ORDER BY dato DESC\" set RS = conn.execute ( SQL ) Do While Not RS.EOF Response.Write RS(\"BrugerNavn\") & \"<br>\" Response.Write RS(\"Navn\") & \"<br>\" Response.Write RS(\"Bopæl\") & \"<br>\" Response.Write RS(\"Beskrivelse\") & \"<br>\" set conn=Nothing %>
<% Dim conn set conn = server.createobject (\"ADODB.Connection\") conn.Open = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Inetpub\\wwwroot\\BegASP\\DIN Database.mdb;\" SQL = \"Select * FROM Brugere ORDER BY dato DESC\" set RS = conn.execute ( SQL ) Do While Not RS.EOF Response.Write RS(\"BrugerNavn\") & \"<br>\" Response.Write RS(\"Navn\") & \"<br>\" Response.Write RS(\"Bopæl\") & \"<br>\" Response.Write RS(\"Beskrivelse\") & \"<br>\" rs.MoveNext Loop End If set conn=Nothing
Ja ok væk med den...<% Dim conn set conn = server.createobject (\"ADODB.Connection\") conn.Open = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Inetpub\\wwwroot\\BegASP\\DIN Database.mdb;\" SQL = \"Select * FROM Brugere ORDER BY dato DESC\" set RS = conn.execute ( SQL ) Do While Not RS.EOF Response.Write RS(\"BrugerNavn\") & \"<br>\" Response.Write RS(\"Navn\") & \"<br>\" Response.Write RS(\"Bopæl\") & \"<br>\" Response.Write RS(\"Beskrivelse\") & \"<br>\" rs.MoveNext Loop
sub Application_OnStart Application.lock Application(\"OnlineUsers\") = \",\" Application.unlock end sub
sub Session_OnEnd Application.lock Application(\"OnlineUsers\") = Replace(Application(\"OnlineUsers\"), Session(\"login\") & \",\",\"\") Application.unlock end sub
det her i dit login script:
Sub AddOnlineUser(login) Application.Lock Application(\"OnlineUsers\") = Application(\"Onlineusers\") & login & \",\" Application.UnLock End Sub
så skriver du bare call AddOnlineUser( \"brugernavnet\" ) når en bruger er blevet \"kontrolleret\" i logon scriptet
function Online(user) dim ok
ok=\"no\" if instr(Application(\"OnlineUsers\"),user) then ok=\"yes\"
>Tandpine Ja det virker jo så godt nok men at man kan checke om brugeren er online, men jeg synes ikke helt det virker med at den efterfølgende sætter brugeren offline efter at man har lukket brugeren ned. Jeg kan se at på de andre sider der har sådan noget popper der lige et lille vindue op der lavet et eller andet idet man enten forlader siden eller lukker browseren. For det skulle jo ikke gerne være sådan at den venter på at den timer out.
Og så lige en anden ting er det ikke muligt at list online brugere end at man skal spørge på alle brugerne. Kan den ikke bare lise dem der er online istedet for at spørge på hver enkelt først. Noget i stil med det her : For each XXXXX Bla Bla Next
Jeg faldt lige over Session(\"login\") i Session_OnEnd har det noget med den at gøre skal jeg bruge den til noget elelr sætte den til noget idet en bruger har logget sig ind ?
Kunne du ikke bare lave et felt i din brugertabel der hedder aktiv. Når en bruger logger på så opdaterer du aktiv til x i brugertabellen á la nedenstående:
sql = \"Update users set aktiv = \'x\' where loginname = \'\"&Request.form(\"loginname\")&\"\'\"
Og så umiddelbart bruge de udtræk der er kommet ovenfor med en mindre modificering: Bare lav denne select så (læg mærke til where aktiv =\'x\'):
SQL = \"Select * FROM Brugere where aktiv = \'x\' ORDER BY dato DESC\" set RS = conn.execute (SQL) Do While Not RS.EOF .... skriv online brugere ud rs.MoveNext Loop
Ja det er ærligtalt ikke rigtigt kommet noget her jeg kunne bruge til noget, så jeg lukket spørgsmålet igen. Og det de re rkommet virker ikke ordentligt mine brugere bliver sat Ofline igen rimeligt hurtigt og så opdaterer den ikke online Array\'et ordentligt brugerne bliver der men de er ikke delt op i et array længere dvs. at kommaerne der brude adskille dem forsvinder bare. Og kan ikke se hvad der er galt i det.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.