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

    sessioni e numero utenti on-line

    Dunque ditemi se sbaglio.
    Quando un utente accede ad una qualunque pagina(anche una statica in html)di 1 sito gli viene assegnato un id unico, il cosidetto id di sessione(forse perchè cio' avenga bisogna settare in maniera giusta il web-server ma cmq di solito è cosi);
    Questo id di sessione di solito viene registrato in un cookie sul lato utente ;ammettiamo che dopo visiti una pagina di 1 altro sito gli viene assegnato(dal server del 2°sito) un nuovo id di sessione.

    Facendo riferimento al suo id di sessione possono essere associate ad un certo utente delle variabili(dette appunto di sessione) che possono essere richiamate nelle varie pagine del sito(fino a che dura appunto la sessione) che l'utente sta navigando.

    in php il codice per creare una variabile di sessione è questo(spero non sia vecchio tale codice)

    <?php

    $HTTP_SESSION_VARS['num'] = 0;
    ?>


    Fatte queste premesse(sperando che sian giuste) vorrei fare delle domande.
    Ci sono dei forum online che indicano quanti utenti in quel momento stanno visitando quel forum e (in caso siano loggati) vengono anche indicati gli username degli utenti.

    Senza entrare nei particolari mi piacerebbe sapere quale metodo viene usato.
    Io immagino qualcosa del genere:il server è in grado di stabilire quanti id di sessione sono stati assegnati su quel sito in quel momento e vedere anche se a ciascun id di sessione è associata anche qualche variabile di sessione che
    indichi appunto l'avvenuto login da parte del tale utente; è verosimile??

    se potete tralasciate i dettagli, mi interessa sapere solo se le cose funzionano +o- cosi.

    grazie mille

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    secondo me la cosa è semplicemente cosi,
    viene creato un array in sessione che contiene il nome degli utenti loggati.
    La cosa si differenzia se il login non deve avvenire ogni volta ma avviene in automatico quando viene visitata la pagina. A questo punto entrano in gioco i cookie, ma credo che gli id di sessione non siano il metodo utilizzato.

    Ti parlo di teoria, perchè non ho mai affrontato questo problema.

  3. #3
    grazie
    beh ma x contare anche gli utenti online non loggati come fa secondo te???

    x il resto ho detto cose giuste?

  4. #4
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    Ci sarà di sicuro una tabella nel DB che indica gli utenti online. Un utente quando effettua il login, viene aggiunto nella tabella utenti_online. Credo sia il sistema migliore, anche perchè le variabili di sessione sono accessibili solo dall'utente cui è associato.

  5. #5
    Un utente quando effettua il login, viene aggiunto nella tabella utenti_online.
    e x quelli che rimangono online senza effettuare il login?

  6. #6
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    Originariamente inviato da Prazision
    e x quelli che rimangono online senza effettuare il login?
    Nella tabella utenti_online quando l'utente (anche non loggato) entra nel sito, verifichi se quel determinato id di sessione è presente già nella tabella, altrimenti lo aggiungi, magari nella tabella metti un campo loggato, in modo da essere true se l'utente ha effettuato il login, false altrimenti. In questo modo hai tutte le info che ti servono.

  7. #7
    beh ma quindi dal webserver puoi sapere quanti sessioni sono aperte pe un determinato sito,giusto?

  8. #8
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    Originariamente inviato da Prazision
    beh ma quindi dal webserver puoi sapere quanti sessioni sono aperte pe un determinato sito,giusto?
    Si
    Ovviamente dovresti stare attento agli utenti che chiudono il browser, perchè rimarrebbero nella tabella anche se non + online. Devi aggiungere un campo nella tabella per stabilire un tempo, in modo da eliminare i record che non sono stati aggiornati negli ultimi 5 minuti ad esempio. Nelle pagine che vuoi controllare, azzeri questo tempo. Puoi usare proprio l'orario sul server dell'ultima visita. In questa stessa funzione metti ad esempio la cancellazione degli utenti che non aggiornano il tempo da + del tot scelto da te.
    Forse sono stato poco chiaro... mi scuso... se hai prob posta pure.

  9. #9
    ci guardoo dopo, grazie

  10. #10
    diciamo che funziona cosi(sparatemi pure addosso):
    quando un utente qualunque si collega ad un sito è possibile(adesso non so i dettagli ma immagino che ogni volta che si richiede una pagina arriva al web-server una richiesta identificabile con un id di sessione) prendere il suo id di sessione e metterlo ad esempio in un DB, assieme magari all'ora di entrata.
    se un utente si logga nel db si mette sempre il suo id di sessione e magari qualche info in+.
    in questa maniera si sanno quante persone stan visitando il sito.
    si stabilisce poi un tempo arbitrario dopo il quale vengono cancellati gli utenti dal DB(nel caso ovviamente che l'id di sessione relativo al tale utente non abia fatto una nuova richiesta di una delle pagine del sito nel tempo stabilito).

    1-se è cosi da una pagina lato server è possibile sapere sempre quali sono gli id di sessione collegati giusto???

    2-:si puo' assegnare un id di sessione anche da una pagina statica vero?

    3-quando passi da un sito ad un altro(presente su un altro web server) ovviamente ti viene attribuito(sempre che ti viene attribuito)un nuovo id di sessione vero?
    e quando passi da un sito ad un altro, entrambi sullo stesso server?

    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.