Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150

    Tempi di connessione utenti

    Ciao a tutti,
    ho provato a cercate nel forum, ma non ho trovato niente in proposito a quello che mi serve, ovvero registrare i tempi dell'ultima connessione dell'utente.

    Considerando che
    1. I dati dell'utente sono archiviati nel db
    2. che in ogni pagina asp eseguo questa schema:
    Codice PHP:
     ...
    assegno a vgl_codiuten il codice dell'utente, estratto dal db al momento della immissione della login/password corretta.
    ...
          if vc_codiuten="" then
                vc_codiuten = session("vgl_codiuten")
          end if

          if vc_codiuten ="" then
               response.redirect "timeoutt.asp"
          end if 

    c'è un modo per calcolare i tempi di connessione, dovuti ad un exit o nei casi migliori, ad un logout che avviene azzerando la variabile di sessione, quando l'utente clicca sul relativo menù "logout".

    if vc_loggoutt="S" then
    session("vgl_codiuten") =""
    end if
    Qualsiasi consiglio è ben accetto.
    Grazie

    Ciao ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    L'unica soluzione che mi è venuta in mente ora, è quella di registrate la data accesso dell'utente nel db e quella di "uscita", e poi nella statistica successiva, effettuare il calcolo del tempo trascorso.

    Il problema è che non riesco ad individuare il momento in cui l'utente esce dal sistema, nei casi indicati in precedenza, ovvero
    1. Chiusura del browser
    2. cambio link web
    3. log out "corretto", come previsto dal sistema.

    Qualche consiglio?

    ciao ciao

  3. #3
    prova a mettere la procedura nella session_close del global.asa
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da Santino83_02
    prova a mettere la procedura nella session_close del global.asa
    Nel global.asa al momento ho "solo" questo codice

    Codice PHP:
    <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
    Sub Application_OnStart
    application
    ("vc_Conn")= "Data Source=xxxx;User ID=yyyyy;Password=zzzz"
    set ConnDB=server.CreateObject("ADODB.Connection")
    ConnDB.open application("vc_Conn")
    set application("ConnDB")=ConnDB
    application
    ("vn_codiclie")="1"
    End Sub

    </SCRIPT>
     
    Il problema è che non so dove inserire la procedura, che è una PL/SQL (oracle), che richiamo generalmente nel seguente modo (faccio un esempio banale)
    Codice PHP:
    iStoredProc 4

    command
    .CommandText "PR_NOMEPROCEDURA"
    command.CommandType iStoredProc

    'PAREMETRI INPUT
        set objParameter = command.CreateParameter ("VN_CODI_CONV",200,1,10,"")
        command.Parameters.Append objParameter
    ....
    ....
        set objParameter = command.CreateParameter ("VC_CODITIPOOPER",200,1,2,"I")
        command.Parameters.Append objParameter
    '
    PAREMETRI OUTPUT
        set objParameter 
    command.CreateParameter ("vc_codierro",200,2,16)
        
    command.Parameters.Append objParameter
        set objParameter 
    command.CreateParameter ("vc_descerro",200,2,200)
        
    command.Parameters.Append objParameter
        command
    .Execute , , adExecuteNoRecords 

    Grazie intanto per la risposta.

    ciao

  5. #5
    scusa la mia ignoranza, ma era Session_onEnd

    http://www.w3schools.com/asp/ev_sess_onend_onstart.asp

    potresti fare delle prove e vedere se il metodo possa andare..non so, in asp il global.asa mi ha sempre molto preoccupato, però non vedo altro modo per te. L'unica cosa è che il session_onend avviene alla scadenza della session, quindi dovrebbe essere che se l'utente chiude il browser senza logout, la sessione non scada immediatamente ma dipende dal tempo di vita che gli avevi impostato prcedentemente
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da Santino83_02
    scusa la mia ignoranza, ma era Session_onEnd

    http://www.w3schools.com/asp/ev_sess_onend_onstart.asp

    potresti fare delle prove e vedere se il metodo possa andare..non so, in asp il global.asa mi ha sempre molto preoccupato, però non vedo altro modo per te. L'unica cosa è che il session_onend avviene alla scadenza della session, quindi dovrebbe essere che se l'utente chiude il browser senza logout, la sessione non scada immediatamente ma dipende dal tempo di vita che gli avevi impostato prcedentemente
    Purtroppo anche a me il global.asa mi preoccupa e vorrei evitare di effettuare modifiche di questa portata.
    Comunque proverò.

    Per quel che riguarda il problema della disconnesione senza cliccare sul link "logout" del sistema, potrei utilizzare il tempo di vita/inattività dell'utente (impostato per non appesantire il sistema), il quale chiaramente non è però l'effettiva data di fine connessione.

    La ricerca continua...se risolvo, posto di nuovo qui la soluzione.

    Grazie intanto per i consigli
    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Ritorno su questo problema, perchè credo di aver trovato la soluzione, ma non riesco a tradurla in codice
    Inoltre vorrei sapere se è fattibile e se vado incontro a qualche problema, ad esempio di prestazioni o addirittura di blocco del sistema.

    In breve...

    Registro in tabella sia la data di accesso dell'utente e, se l'utente esce passando dalla pagina del menù "logout", che la data di disconessione e quindi posso sapere il tempo di connessione.

    Il problema, come accennavo prima è che l'utente può uscire in altro modo dal sistema e in quel caso non saprei quando e come è uscito, se non calcolando il tempo massimo di inattività che ho impostato di default.

    La soluzione sarebbe quella di controllare ogni tot minuti (10 ad esempio) la data attuale, quando l'utente è ancora on-line. Quindi sommare ogni volta 10 minuti alla data di inizio dell'accesso, e quindi avrei un errore di soli 10 minuti nel caso l'utente esca senza "passare" dal logout.

    Innanzitutto vorrei sapere, che comporta questo metodo in termini di carico del sistema e chiaramente se si può fare?

    Qualsiasi suggerimento è ben accetto

    Grazie in anticipo
    Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Sono ancora in alto mare...

    Avete qualche suggerimento in proposito?

    Ciao ciao

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 © 2025 vBulletin Solutions, Inc. All rights reserved.