Visualizzazione risultati 1 fino 15 di 15

Discussione: utenti online...

  1. #1
    Guest

    Predefinito utenti online...

    ciao a tutti,
    sn due settimane che mi sbatto su sto problema....

    io dovrei sapere quanti utenti sono presenti sulle mie pagine...

    io avevo pensato di creare una tabella online... quando qualcuno si loga... viene inserito il record del utente e quindi si segnala che è online... ma come faccio a eliminarlo quando si scollega? deve perforza effettuare il logout? ma se chiude automaticamente la finestra? rimane segnalato online... come posso fare?

    plz aiutatemi...

  2. #2
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Aggiungi un campo temporale, che aggiorni ogni volta che l'utente si muove nel sito: se non agisce per un tot, la prima volta che chiunque si collega, fai cancellare il record dell'utente. Cosi` e` come dire che si e` automaticamente scollegato. Spero di essermi riuscito a spiegare bene.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  3. #3
    Guest

    Predefinito

    nn tanto...

  4. #4
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Sospettavo cio`. Dunque, allora provo a esemplificare.

    ho visto che il tuo sito te lo sei fatto da te in php, e che si propoene di fornire script agli utenti, quindi ho suposto che qualche cosa tu la sappia, o sappia comunque come approfondire (anche perche` per i dettagli dovrei prendere in mano i manuali, non me li ricordo ...)

    In questo esempio l'utente non ha bisogno di logarsi, ma basta che acceda al sito per essere segnalato come on-line.

    La tabella del db avra` i seguenti campi:
    - id [se vuoi, al solito auto-increment, non utile ai nostri fini ma sempre consigliato per ragioni di sicurezza]
    - ip [puoi tranquillamente usare un varchar(15); qui salvi l'indirizzo ip di chi accede]
    - time [di tipo int(16) credo che sia suficente perche` ci stia un unix timestamp]

    Per il tempo istantaneo in unix timestamp (secondi dal 1 Gennaio 1970) usa la funzione time() del php. In alternativa esiste il modo di inserirlo direttamente da mySQL, ma ora non ricordo come.

    Ora, quando qualcuno accede controlli la tabella e fai quanto segue:
    - Se l'ip e` assente, aggiungi un record con l'ip e il dato temporale attuale.
    - Se l'ip e` presente, modifichi il record aggiornando il campo temporale.
    - Quindi, controlli tutti i record della tabella, e cancelli quelli in cui la differenza tra il tempo istantaneo e quello salvato supera un tot prefissato (ad esempio, 5 minuti).

    Ora dovrebbe esserti chiaro.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  5. #5
    Guest

    Predefinito

    Immaginiamo una tabella semplice del tipo

    | UTENTE | ORA_ACCESSO |

    Devi far si che mentre naviga nel tuo sito il campo ORA_ACCESSO venga aggiornato (all'ora in cui effettua ogni click).

    Quando fai questo genere di operazione fai anche un semplice controllo:

    ORA_ATTUALE - ORA_ACCESSO >= 5 min ?

    (SI) reputo che l'utente è uscito e cancello il nominativo dalla tabella
    (NO) l'utente è ancora dentro e allora non faccio nulla

    Non fai un controllo per oggni utente specifico in tabella ovviamente !
    Quindi fai una query nella tabella per conoscere quali utenti hanno superato i 5 minuti
    e li cancelli. Alla fine puoi fare 2 query in tutto o in forma contratta 1 sola.

    Con un controllo del genere chiunque entra nel sito fa sto controllo e aggiorna in automatico la tabellina in questione.

    Spero di essere stato abbastanza esaustivo.

    Ciao ciao

  6. #6
    Guest

    Predefinito

    ok, sembra di aver capito... adesso provo e vi faccio sapere... speriamo in bene... cmq grazie per adesso...

  7. #7
    Guest

    Predefinito

    lo scritto lo script adesso lo testo online... perchè in locale nn ho potuto provarlo dato l'ip sempre uguale.... 127.0.0.1

  8. #8
    Guest

    Predefinito

    se funziona.... puoi mostrarmi il codice ? :P

  9. #9
    Guest

    Predefinito

    si, anzi proviamolo subito, vai su sto sito e rimanici per almeno 5 minuti...
    http://lnx.overclokkati.com

  10. #10
    Guest

    Predefinito

    12.33 entrato nel sito
    12.43 uscito dal sito

    mmhmhh... ma salva i log? oppure vuoi che lo proviamo quando ci sei anche tu ?? perchè io pensavo di leggere una cosa tipo "al momento ci sono X utenti collegati"
    Ultima modifica di djgaggio : 30-06-2004 alle ore 12.41.57

  11. #11
    Guest

    Predefinito

    adesso lo modifico e li faccio salvare su un log... nn mi era venuto in mente prima...

  12. #12
    Guest

    Predefinito

    funziona... ho testato lo script controllando il db è lo script funziona egregiamente... adesso lo modifico per salvare i log e visualizzare gli utenti online.... che soddisfazione

  13. #13
    Guest

    Predefinito

    cmq grazie a gve e a nostromo...

  14. #14
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Prego :eyes:
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  15. #15
    Guest

    Predefinito

    de nada

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •