/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Online-liste
Fra : Jens Peter Rosenkvis~


Dato : 12-08-04 20:07

Jeg er igang med at lave en side. Jeg har lavet et login system
med cookies. Cookien gemmer hver brugers id.

Jeg kunne godt tænke mig at lave en online-liste på min side.
Den må gerne kunne vise to ting:
1) De gæster der er på siden og præcis hvilken side de er på.
2) De brugere der er på siden og præcis hvilken side de er på.

Jeg har ingen ide om hvordan dette skal gøres (eller om det kan
lade sig gøre). Så håber på nogen idéer herfra.

--
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 Peter Rosenkvis~ (16-08-2004)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 16-08-04 14:52

Da der ikke var nogen der svarede på mit indlæg gik jeg selv
igang med at prøve at lave en online liste.

Jeg lavede en global.asa fil der så sådan her ud:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart
' Denne del tog jeg fra en anden side
   ' Set our user count to 0 when we start the server
   Application("ActiveUsers") = 0
End Sub

Sub Session_OnStart
' Denne del tog jeg fra en anden side
   ' Change Session Timeout to 20 minutes (if you need to)
   Session.Timeout = 20
   ' Set a Session Start Time
   ' This is only important to assure we start a session
   Session("Start") = Now
   ' Increase the active visitors count when we start the session
   Application.Lock
      Application("ActiveUsers") = Application("ActiveUsers") + 1
   Application.UnLock
End Sub

Sub Session_OnEnd
   ' Decrease the active visitors count when the session ends.
   Application.Lock
      Application("ActiveUsers") = Application("ActiveUsers") - 1
   Application.UnLock
   
'Resten herefter fandt jeg selv på.
'Først åbner jeg forbindelsen til databasen. Den del af koden
udelader jeg, da I vel har set det en del gang før.

'Efter at have åbnet den vælger jeg den bruger hvor den session
der lige er sluttet er gemt i. Hvordan det er blevet gemt kommer
jeg til senere

strSQL = "SELECT id FROM brugere WHERE online = " &
Session.SessionID
Set rs = Conn.Execute(strSQL)

If Not rs.BOF Then
strSQL1 = "Update brugere Set online = '0' Where id = " &
rs("id")
Conn.Execute (strSQL1)
End If

rs.Close
Set rs = Nothing

Conn.Close
Set Conn = Nothing
End Sub

</SCRIPT>


Det var global.asa filen.

For at få det til at virke skulle jeg desuden have skrevet
Session.SessionID i databasen når en bruger logger ind. Det har
jeg så lavet på login siden. Desuden bliver det også opdateret
når man går ind på index.asp, altså forsiden.


Den måde man så kan se hvem der er online, har jeg lavet ved at
vælge alle brugere fra databasen hvor feltet "online" er
forskellig fra 0.

Det fungerer sådan set helt fint, der er dog to problemer med
det.
1) Man kan ikke se præcis hvilken side brugeren er på.
2) Før virkede mit auto-login med cookies, men det gør det ikke
længere. Efter et par timer bliver cookiesne slettet. Det
irriterer mig en del, men jeg ved ikke hvorfor.

Hvis nogen kan hjælpe med de to sidste ting ville jeg være glad.

--
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 Peter Rosenkvis~ (19-08-2004)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 19-08-04 21:06

Jeg ved jo ikke om der er nogen der læser denne tråd, men jeg
løste selv det ene af mine problemer og vil da gerne dele det
hvis andre kan bruge det til noget. :)

> 2) Før virkede mit auto-login med cookies, men det gør det ikke
> længere. Efter et par timer bliver cookiesne slettet. Det
> irriterer mig en del, men jeg ved ikke hvorfor.

Hver gang en ny sesseion starter har jeg tilføjet, at der skal
tjekkes om der ligger nogen cookies med login-oplysninger. Hvis
der gør det sætter jeg cookien til at udløbe om et år. Altså har
jeg blot tilføjet til global.asa filen:

<%
Response.Cookies("navnet-på-min-cookie").Expires = Date+365
%>

Det har undret mig lidt at det fungerer, da jeg sådan set have
set ulødbstiden til et år i forvejen ved login, men af en eller
anden grund løb cookien ud efter to besøg på min side.

Men som sagt fungerer det nu.

--
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

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste