Avatar billede forcedesigner Nybegynder
16. august 2002 - 20:59 Der er 40 kommentarer og
1 løsning

Online user problem........

Jeg har lavet en online script, men jeg mangler det sidste.

Hvis man logger ind bliver online kolonnen i tabellen "bruger" til = true og hvis man logger ud bliver det false, så det eneste min online.asp fil laver er at hente alle bruger som er true:
sql = "SELECT * FROM bruger Where online=true order by username"

Log ud:
sql = "UPDATE user SET online=false where username = '" & Session("username") & "'"

Det hele virker fint...MEN når en brugere som er online ikke logger ud, men bare lukker for Explorer vinduet er man på for "online er stadig=true".

Hvordan gøre jeg sådan at bare man lukker for vinduet så bliver online til FALSE??

Hjælp mig venner...
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:06 #1
Prøv:
<body onLoad="window.open('logud.asp')">

/theSurfer.
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:06 #2
oops... onUnload :)
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:07 #3
..og i logud.asp har du din Update kode..
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:08 #4
Her er et svar.. hvis du nu kan bruge min løsning, og jeg ikke er her til at lægge et svar.. :)

/theSurfer.
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:08 #5
doh! :)

/theSurfer.
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:14 #6
<body onLoad="window.open('logud.asp')">

Hvor skal det ligge hen??
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:14 #7
i html filen
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:14 #8
I online.asp ??
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:15 #9
Hvilken fil online.asp eller hvad??
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:15 #10
doh.. ja, online.asp
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:16 #11
jeg glemte at det var asp :)

det var derfor jeg skrev html filen :)

min fejl..

den skal være i online.asp
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:16 #12
Ok vent..
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:17 #13
altså:

du putter denne kode i "logud.asp":

sql = "UPDATE user SET online=false where username = '" & Session("username") & "'"

og denne kode i "online.asp":

<body onUnload="window.open('logud.asp')">

HUSK: det skal være onUnload ikke onLoad :)

/theSurfer.
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:19 #14
jajaja...vent
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:20 #15
sorry :)
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:26 #16
Den viser denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e37'
[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot find the input table or query 'bruger'. Make sure it exists and that its name is spelled correctly.

/online.asp, line 716

Og det er denne linie:

rs.open sql, conn, 1, 3
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:34 #17
øhm... skal du ikke skrive "username" i stedet for "bruger" ?

her bliver der brugt "username":
sql = "UPDATE user SET online=false where username = '" & Session("username") & "'"

fejlen i rs.open sql, conn, 1, 3 (sql) henviser til: sql = ....


/theSurfer.
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:35 #18
Jamen jeg bruger username ik' bruger.
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:37 #19
ahhh...

jeg tror det er denne linie:

sql = "SELECT * FROM bruger Where online=true order by username"

der har du brugt "bruger"

/theSurfer.
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:38 #20
doh! den siger jo det er filen "/online.asp".. dvs det er den øverste sql linie du har skrevet i dit spørgsmål..

/theSurfer.
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:38 #21
Nej, nej jeg bruger user, jeg skulle bare gøre det nemt for dig så du forståd det.
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:39 #22
Hvad????
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:40 #23
ok.. nu er jeg forvirret.. :)

i online.asp bruger du "bruger"... i "logud.asp" bruger du "username"..

kan du snart bestemme dig ? :)
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:40 #24
hvad hedder feltet i din database?

"bruger" eller "username" ?
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:42 #25
Her er koden.

Online.asp:

<%   
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("system.mdb")
sql = "SELECT * FROM user Where autolog=true order by username"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open sql, conn, 1, 3
%>


Logoff.asp

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("system.mdb")
sql = "UPDATE user SET autolog=false where username = '" & Session("username") & "'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open sql, conn, 1, 3
%>
<%
Conn.Close
Set Conn = Nothing
%>
<%
Session("username") = ""
Response.Redirect("login.asp")
%>
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:43 #26
Autolog=online  jeg skal nok lave den om.
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:45 #27
Kolonnen Autolog = Online.

Jeg skal snart lave sådan at brugere kan logge auto ind.
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:45 #28
Håber du er med er du det?
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:46 #29
da vil det være bedst at bruge cookies, tror jeg.
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:46 #30
for du har ikke nogen måde at check om denne person har autolog = true..

med mindre du bruger ip adressen som identifikation..

/theSurfer.
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:49 #31
Det bliver true når man logger ind og den skal blive false når man lukker vinduet + når man logger ud og den er lavet.
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:53 #32
logud tingsten skulle gerne blive udført når man er på "online.asp" og "lukker vinduet" / "går over på en anden side"..
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:54 #33
Der skal ikke ske noget hvis man går på en anden side kun hvis man LUKKER vinduet.
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:55 #34
så duer onUnload ikke.. for den bliver også udført når man skifter side..
Avatar billede forcedesigner Nybegynder
16. august 2002 - 21:56 #35
Hvad skal jeg så gøre???...
Avatar billede thesurfer Nybegynder
16. august 2002 - 21:59 #36
brug sessions..

se: http://www.html.dk/tutorials/asp/lektion12.asp

"Om hvordan man med Sessions i ASP kan gemme og hente oplysninger i løbet af en brugers besøg på dit websted."
Avatar billede forcedesigner Nybegynder
16. august 2002 - 22:00 #37
OK tak,
Avatar billede forcedesigner Nybegynder
16. august 2002 - 22:01 #38
Nu skal jeg læse, Jeg hader det :-(
Avatar billede thesurfer Nybegynder
16. august 2002 - 22:01 #39
hehe... det er ikke så meget.. og ud lærer noget!

jeg lærte asp + access hos html.dk..

/theSurfer.
Avatar billede thesurfer Nybegynder
16. august 2002 - 22:02 #40
ud = du..
Avatar billede forcedesigner Nybegynder
19. august 2002 - 10:59 #41
Glem det..............
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester