Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    91

    Contatori visite e utenti online

    Salve,

    spiego brevemente la situazione:

    Ho creato un contatore per gli utenti online creando un file global.asa.

    global.asa
    Codice PHP:
    <script language="VBScript" runat="server">

    'All'avvio del server imposta a 0 i visitatori
    Sub Application_OnStart 
      application
    ("activeusers") = 
    End Sub 

    Sub Application_OnEnd 
    End Sub 

    'All'avvio di una sessione incrementa di 1 il numero utenti
    Sub Session_OnStart 
      application
    .lock 
      application
    ("activeusers") = application("activeusers") + 
      application
    .unlock 
    End Sub 

    'Alla scadenza della sessione decrementa il numero utenti
    Sub Session_OnEnd 
      application.lock 
      application("activeusers") = application("activeusers") - 1 
      application.unlock 
    End Sub 

    </script> 
    Mentre nella pagina .asp richiamo "Utenti Online: <%= application("activeusers") %>".

    Inizialmente apro la pagina .asp con firefox e viene "Utenti Online=1". Successivamente aprendo la stessa pagina con Explorer viene "Utenti Online=2".
    Se chiudo la pagina di firefox, il numero con cambia. Ma se chiudo e apro di nuovo con Explorer, il numero degli Utenti Online aumenta.

    Come posso risolvere?
    E poi, come mai non decrementa mai? Quando chiudo non dovrebbe decrementare?

    Qualcuno sà aiutarmi?

    Grazie, Kuilsera

  2. #2
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Prova così:

    codice:
    <SCRIPT language="VBScript" Runat="Server"> 
    
    Sub Application_OnStart
      Application("intActiveUserNumber") = 0
      Application.unlock
    End Sub
    
    Sub Application_OnEnd 
    End Sub
    
    Sub Session_OnStart 
    Session.Timeout = 2 
    Application.Lock 
    Application("intActiveUserNumber") = (Application("intActiveUserNumber") + 1 )
    Application.UnLock 
    End Sub 
    
    Sub Session_OnEnd 
    Application.Lock 
    Application("intActiveUserNumber") = (Application("intActiveUserNumber") - 1)
    Application.UnLock 
    End Sub 
    
    </SCRIPT>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    91
    Niente da fare...

    Se io con Explorer chiudo e riapro la pagina .asp, il contatore incrementa.

    Come posso risolvere allora?

  4. #4
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Il decremento non è sempre automatico alla chiusura del browser, dipende dalla:

    codice:
    Session.Timeout = 2

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    91
    Ma se io chiudo la pagina, il contatore non dovrebbe decrementare?

    Per esempio ora il contatore è arrivato a 6, ma ho solo con Firefox aperto.

  6. #6
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da Kuilsera
    Ma se io chiudo la pagina, il contatore non dovrebbe decrementare?

    Per esempio ora il contatore è arrivato a 6, ma ho solo con Firefox aperto.

    Devi attendere che trascorrano i due minuti della session.timeout del primo utente connesso, per iniziare a vedere il decremento.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    91
    Però fa il contrario...aspettando due minuti incrementa...

    :master:

    come mai?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.