Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Verificare se un utente è online

    Ciao ragazzi,
    volevo un consiglio sull'oggetto del 3d.

    Dopo una ricerca mostro un elenco di utenti registrati.
    Adesso io ho impostato che quando fanno il login un campo nel DB che server per capire se è online, viene spuntato su true.

    E fin qui tutto bene.

    Ma sel'utente cambia pagina senza fare il logout, come faccio a fare in modo che quel campo venga spostato su false, e quindi a impostare che non sia piu online?

    Grazie per l'aiuto

  2. #2
    nel session timeout del global.asa rimetti il capo del db a false...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Ciao Santino,
    cioè intendi semplicemente così:

    Sub Session_OnEnd
    'sql = "UPdate etc etc
    End Sub

    Facendo così riesco a coprire sia se l'utente chiude il browser, sia se l'utente per esempio cambia sito?

  4. #4
    il mio global.asa è attualmente questo:

    codice:
    <SCRIPT language="VBScript" Runat="Server"> 
    
    Sub Application_OnStart
      Application("Users") = ""
    End Sub
    
    
    Application.Lock 
    
    If Session("utente")<>"" Then 
    Application("Users") = Replace(Application("Users"), Session("utente") & "|" ,"") 
    End If 
    
    Application.UnLock 
    
    End Sub
    
    </SCRIPT>

  5. #5
    no, in realtà capisci solo se la sessione scade.. può scadere per svariati motivi ovviamente. il problema è che può scadere anche dopo molto tempo che l'utente sta da n'altra parte, dipende tra l'altro da quanto hai impostato lunga la vita della session.

    Altro modo potrebbe essere far fare un update di un campo del db ogni volta che l'utente fa qualcosa, che sia cambiare pagina, leggere un qualcosa, inviare dati in altro modo.. nell'update ti salvi la data in cui l'utente ha fatto qualcosa.. a quel punto decidi che se l'utente non ha fatto nulla per, diciamo, 5 minuti e la session è ancora viva, allora vuol dire che è offline, altrimenti se la session è viva e ha fatto qualcosa da meno di 5 minuti, allora è online (per session viva intendo quel tuo campo booleano nel db settato a true)

    Poi sinceramente, non mi sono mai dovuto cimentare in ste cose (fortunatamente), però mi pare che spesso sia stata consigliata una soluzione simile
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    ok, allora diciamo che ragiono utilizzando il campo nel db.
    Al momento del login o dell'arrivo su una qualsiasi pagina del mio sito, valorizzo il campo del DB a true.

    Adesso diciamo che l'utente ad un certo punto della sua visita sul mio sito, decide di cambiare sito, e scrive direttamente sulla barra degli indirizzi un nuovo sito, tipo corriere.it.

    Il problema resta quello:
    come recuperare questa azione dell'utente per poi poter fare l'update sul db e settare il campo online a false?
    Stesso discorso se decide di chiudere il browser.

    Grazie mille

  7. #7
    Originariamente inviato da zetaweb
    ok, allora diciamo che ragiono utilizzando il campo nel db.
    Al momento del login o dell'arrivo su una qualsiasi pagina del mio sito, valorizzo il campo del DB a true.

    Adesso diciamo che l'utente ad un certo punto della sua visita sul mio sito, decide di cambiare sito, e scrive direttamente sulla barra degli indirizzi un nuovo sito, tipo corriere.it.

    Il problema resta quello:
    come recuperare questa azione dell'utente per poi poter fare l'update sul db e settare il campo online a false?
    Stesso discorso se decide di chiudere il browser.

    Grazie mille

    ripeto:

    Altro modo potrebbe essere far fare un update di un campo del db ogni volta che l'utente fa qualcosa, che sia cambiare pagina, leggere un qualcosa, inviare dati in altro modo.. nell'update ti salvi la data in cui l'utente ha fatto qualcosa.. a quel punto decidi che se l'utente non ha fatto nulla per, diciamo, 5 minuti e la session è ancora viva, allora vuol dire che è offline, altrimenti se la session è viva e ha fatto qualcosa da meno di 5 minuti, allora è online (per session viva intendo quel tuo campo booleano nel db settato a true)
    ovviamente il campo in questione è un campo data affiancato al campo booleano (se vuoi)
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    perdonami santino ma continuo a non capire il tuo aiuto.

    Se un utente ha cambiato sito scrivendone l'indirizzo nella barra degli indirizzi o chiudendo il browser ormai non posso piu controllare il campo nel database, perchè ha lasciato il mio sito senza che io me ne accorgessi.

    L'aiuto che mi dai tu riguarda l'azione da compiere "dopo" che ho recuperato l'evento dell'utente.Ma se non recupero quella determinata azione nel preciso momento in cui avviene, non potrò piu far compiere un'operazione sul mio database visto che ormai l'utente non è piu presente sul mio sito.

    spero di essermi spiegato bene, forse prima non ero stato chiaro.

    Grazie

  9. #9
    Originariamente inviato da zetaweb
    perdonami santino ma continuo a non capire il tuo aiuto.

    Se un utente ha cambiato sito scrivendone l'indirizzo nella barra degli indirizzi o chiudendo il browser ormai non posso piu controllare il campo nel database, perchè ha lasciato il mio sito senza che io me ne accorgessi.

    L'aiuto che mi dai tu riguarda l'azione da compiere "dopo" che ho recuperato l'evento dell'utente.Ma se non recupero quella determinata azione nel preciso momento in cui avviene, non potrò piu far compiere un'operazione sul mio database visto che ormai l'utente non è piu presente sul mio sito.

    spero di essermi spiegato bene, forse prima non ero stato chiaro.

    Grazie

    allora, forse non mi spiego io.. l'azione che dici te non la puoi scoprire subito, ma solo dopo un pò di tempo perchè appunto non puoi capire se l'utente cambia sito o chissà che altro ce fa col browser. Ribadisco la soluzione di prima, solo che ora non ho tempo per dirtela meglio, ma se la vedi nell'ottica "devo aspettare un pò di tempo per sapere se l'utente è online o meno" allora forse la capisci meglio
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    mmm...ok forse ho capito a cosa ti riferisci...

    Faccio un esempio pratico.

    Tizio fa una ricerca sugli utenti che iniziano per A.
    Ottiene 100 risultati
    quando li ciclo se vedo che il campo online è true e la data e l'orario della sua ultima operazione sono diciamo piu vecchie di 10 minuti allora faccio un update per quell'utente passando a false.

    era questo che intendevi?

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.