Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    User esce dal sito, come capirlo?

    Salve a tutti
    Arrivo dritto al punto.

    Nel mio database, ho una tabella utente con un campo connesso.
    Quando l'utente si connette cambio lo stato di connesso da "0" a "1".
    Ora vorrei poter rimettere a 0 quello stato appena l'utente abbandona il mio sito
    ma non so proprio come fare dato che lo potrebbe fare in tantissimi modi diversi:
    - semplicemente preme il tasto logout;
    - chiude la finestra con la pagina del mio sito;
    - cambia tramite la barra indirizzo la pagina del sito;
    - gli cade la connessione internet;
    - gli si spegne il computer...
    e non mi sono venuti in mene altri modo ma penso che ne siano parecchi.

    Io verrei che in ogni caso, prima di lasciare il mio sito venga eseguita una query
    che reimposta lo stato a "0".

    Come posso fare?

    Grazie.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sicuramente poco in js, oltre tutto i browser non gestiscono la cosa in egual maniera, a mio avviso meglio approcciare (x quello che si può fare) lato server

    P.S. se non sei convito fai una ricerca qui sul forum argomento già ampiamente trattato con pochissimi risultati
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Potresti fare una chiamata Ajax all'evento onunload e in quel momento setti lo stato a 0.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Draxent
    - gli cade la connessione internet;
    - gli si spegne il computer...
    Questa la vedo dura

    Ma a te con quale approssimazione ti serve? se ti e' sufficiente modificare lo stato dell'utente ad intervalli massimi di un minuto potresti:

    - in tutte le tue pagine fai una richiesta al server (anche tramite ajax) ad intervalli regolari con la quale:
    -- aggiorni l'ora dell'ultimo contatto dell'utente;
    -- verifiche se qualche altro utente non ha aggiornato l'ora nell'ultimo minuto (e poco piu') : in quel caso lo puoi considerare scollegato

    Ovviamente la disconnessione dell'ultimo utente non verra' rilevata da altri, ma puoi usare le session del server...

    Occhio che in caso di aggiornamenti frequenti o grande numero di utenti il carico del server aumenta non di poco, e che aumenta la dimensione dei log del server... anche se tu non la vedi.

    Ovviamente se l'utente ha il javascript disabilitato...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    le risposte che mi avete dato sono molto utili lo stesso grazie
    anche se non è la sezione giusta per questa domanda posso chiederti cavicchiandrea cosa potrei fare per il mio problema lato server?
    per quanto riguarda la proposta di br1... di certo andrebbe bene ma vorrei qualcosa di più leggero... cmq potrei considerarla come ultima sponda quindi grazie.

  6. #6
    riprendo la conversazione.... dopo aver cercato parecchio sono riuscito a trovare uno
    script (tra l'altro in questo sito) che ogni volta che aggiorni la pagina ti visualizza il tempo in cui sei entrato e il tempo di uscita.
    Il problema rimanente è quello della connessione, cioè se cade la connessione internet.

    Sarei quindi interessato ora alla risposta di br1.
    Dato che non sono molto pratico di ajax potresti spiegarmi meglio quello che devo
    fare magari con un esempio.
    Per l'intervallo mi andrebbe benissimo anche 5 minuti...
    così non dovrebbe essere troppo pesante anche se ho parecchi utenti giusto?
    Spero che mi potrai aiutare, grazie!!!!!

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.