asp - who's online script - ohne benutzung der global.asa

Alexander Schuc

crazy-weasel
also, jeden den ich fragte .. sagt mir diese lösung mit der Global.asa!!!! nur leider darf ich die nicht benutzen ...

es wäre toll, wenn man bei diesesm script so machen könnte, das durch einbinden einer datei in die andern dokmente, das man sehen könnte wo ein Benutzer ist ... müsste doch gehen, mit DB anbindung... das das geht weiß ich ich sah es in einer andern sprache schon ..


mfg
crazy
 
ohne global.asa geht das nur so, das du zb für jeden user eine application-varialbe erstellst und in der angibst wer / wo ist....

das problem ist das killen des users nach session-timeout.. da du keine global.asa zur verfügung hast, steht dir auch die session_OnEND routine nicht zur verfügung...

vielleicht den user bitten, er möge doch auf den [logout] button klicken und in diesem logout-script seine variable killen?

wär das einzige was mir jetzt einfällt ;)

ich hab auch schon mal eine who-is-online-anzeige gemacht, aber ohne global.asa habe ich das "damals" (*g*) auch nicht hinbekommen....

hope that helps!

gruß
 
Hi,..

so:

global.asa
Code:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart

' Bei start des Servers alle Variablen auf 0 setzen

	Application("ActiveUsers") = 0

	Application("AllUsers")= 0

End Sub

Sub Session_OnStart

	Session.Timeout = 20

	Application.Lock

		Application("ActiveUsers") = Application("ActiveUsers") + 1

	Application.UnLock

End Sub

Sub Session_OnEnd

	Application.Lock

		Application("ActiveUsers") = Application("ActiveUsers") - 1

	Application.UnLock

End Sub

</SCRIPT>

Ich hoffe das sich das Beispiel von selbst erklärt.

Mfg,
crazy-weasel
 
trag doch einfach alle user mit einer session ein.
bei jeder seite wo er aufruft aktualisierst du unter der session die zeit. Einfach dann eine abfrage starten z.b. zeit - 5min
 
genau! also : der user bekommt mein einloggen eine action-zeit. bei jedem click von ihm wird diese actionzeit auf Now() hochgesetzt. ebenso wird bei jedem click die differenz now()/actionzeit überprüft. sollte diese grösser als deine gewollten X Minuten sein, erscheint der user als offline, seine session wird gekillt und er wird auf eine "sorry, sitzung abgelaufen"-seite weitergeleitet."

Grüsse, Euer caSe
 
genau! also : der user bekommt mein einloggen eine action-zeit. bei jedem click von ihm wird diese actionzeit auf Now() hochgesetzt. ebenso wird bei jedem click die differenz now()/actionzeit überprüft. sollte diese grösser als deine gewollten X Minuten sein, erscheint der user als offline, seine session wird gekillt und er wird auf eine "sorry, sitzung abgelaufen"-seite weitergeleitet."

Der Sinn des 'Who is online'-Scripts ist es, auf der Site sichtbar zu machen wieviele User online sind, und nicht bei einem User so seine Sessionlänge zu begrenzen.

Ich hab das dann vor 2 Jahren so gelöst.

# User betritt die Seite, seine IP Adresse und eine ID wird mit der aktuellen Uhrzeit in eine Datenbank geschrieben.
# Ein anderer User betritt die Seite, seine Daten werden auch erfasst, und da jetzt ja noch jemand in der Datenbank steht, wird überprüft ob die Uhrzeit seines Eintrags zum jetztigen eine bestimmte differenz aufweist. Ist es so, wird der User gelöscht, wenn nicht bleibt er.
# Unser erster User navigiert ein wenig durch unser Webangebot und bei jedem Seitenaufruf wird die Uhrzeit aktualisiert.

Btw.
Happy Birthday lieber Thread,
2 Jahre und 3 Tage alt. :rolleyes:
 
hat von euch irgende jemand das script mit einer Global.asp? das währe echt cool weil genau so ein Script suche ich!

Gruß Druckgott
 

Neue Beiträge

Zurück