Tenere traccia degli utenti connessi e mostrare il loro nome

di Luca Corazza, in Classic ASP, UserScript, Application,

Questo sistema utilizza una variabile di applicazione per tenere traccia degli utenti loggati su un sito web.
Per prima cosa bisognerà creare un global.asa come il seguente:

<SCRIPT language="VBScript" Runat="Server"> 

 Sub Application_OnStart
  Application("Users") = ""
 End Sub

 Sub Session_OnEnd

   Application.Lock
   Application("Users") = Replace( Application("Users") , Session("utente") & "|" ,"")
   'quando scade una sessione viene eliminato il nome dell'utente dalla variabile di
  'applicazione che contiene l'elenco degli utenti attivi
   Application.UnLock

 End Sub

</SCRIPT> 

Inoltre, nella pagina che controlla utente e password, ovvero la pagina di autenticazione, bisognerà aggiungere una routine che aggiunga alla variabile di Applicazione l'utente appena autenticato:

<% 

Session("utente") = Request("Utente")
if InStr(1, Application("Users"), Session("utente") & "|" ) = 0 then
  'se l'utente non è già presente
   Application.Lock
  'viene aggiunto l'utente appena loggato alla stringa che contiene
  ' l'elenco degli utenti
  Application("Users") = Application("Users") & Session("utente") & "|"
   Application.UnLock
 end if

%>

Infine, per mostrare la lista degli utenti loggati basterà tramutare la variabile Application "Users" in una array splittandola per il carattere "|":

<%

dim arrUtenti
 Response.Write "<b>Utenti Collegati:</b><br>"
 arrUtenti = Split(Application("Users"),"|")

 for i = 0 to UBound(arrUtenti)
   Response.Write arrUtenti(i) & "<br>"
 next

%>

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi