[PHP] Come gestire gli utenti online

Marcolino92

Utente Attivo
6 Nov 2012
28
0
1
Ciao, come da titolo mi trovo in difficoltà anche con questo, ho cercato di risolvere da solo ma ho solo prelevato gli utenti quale la loro "Ultima attività", fosse inferiore a un lasso di tempo prestabilito. Ma non credo sia questa la giusta logica perche ovviamente in quel caso il pallino online viene mostrato anche se l'utente ha chiuso il browser fino appunto al prossimo rinnovo o comunque scadenza del tempo stabilito.

Credo bisogna giocare con le sessioni?
Utilizzo Codeigniter con Benedmuns Libreria per la gestione utente
 

macus_adi

Utente Attivo
5 Dic 2017
1.333
91
48
IT/SW
Con socket.io risolvi la gestione della contemporaneità e la gestione live degli utenti in sessione...
In alternativa fai un polling con ajax aggiornando la permanenza agli ultimi x secondi....
 

Marcolino92

Utente Attivo
6 Nov 2012
28
0
1
Ciao, grazie per la tua risposta, potresti farmi un esempio veloce riguardo il polling con ajax?
Si tratta di una normale query che prende gli ultimi collegati in sessione ma che tramite ajax li mette a scaletta aggiornandosi automaticamente?
 

Marcolino92

Utente Attivo
6 Nov 2012
28
0
1
Qualcosa del genere è giusto?

Codice:
<script>
        setInterval(function(){
            $.ajax({
                url: 'URL#####',
                dataType: 'jsonp',
                success: function(result){
                    alert(result);
                },
                error: function(result){
                    alert(result);
                }
            });
        }, 4000);
    </script>

Dove in url inserisco il controller che esegue la query?
 

Marcolino92

Utente Attivo
6 Nov 2012
28
0
1
Mi chiedevo se in termini di utilizzo e buona norma di codice, sia consono usarlo, oppure crea qualche problema riguardo la navigazione, rallentamenti, non so qualcosa di simile ?
 

macus_adi

Utente Attivo
5 Dic 2017
1.333
91
48
IT/SW
Mi chiedevo se in termini di utilizzo e buona norma di codice
Partendo dalla tua logica no!
Le operazioni sul DB le fa il model, il controller appunto controlla e organizza i dati, la view si limita a visualizzarli...
Il long polling "non si usa" quasi più, si cerca di sfruttare altre metodologie....
socket, coap, mqtt etc....
 

Marcolino92

Utente Attivo
6 Nov 2012
28
0
1
Penso di evitare di utilizzarlo allora, comunque ora che realizzo forse non mi ero spiegato molto bene sul mio problema, perche forse tu hai capito che volevo semplicemente aggiornare la visualizzazione di ogni nuova entrata/utente collegato.

Invece avrei proprio bisogno di capire come mostrare correttamente quando un utente è online (mostrando il classico pallino) ma che sopratutto scompaia quando esce dalla sessione. Quello che invece sono riuscito semplicemente a fare è mostrare l'online( quindi il pallino) ogni qualvolta l'utente si collega dicendo banalmente di mostrarmi i risultati dove il campo last_actvity è piu recente, quindi un utente rimane online (pallino verde) anche se è uscito dal sito da 1 ora.
 

macus_adi

Utente Attivo
5 Dic 2017
1.333
91
48
IT/SW
perche forse tu hai capito che volevo semplicemente aggiornare la visualizzazione di ogni nuova entrata/utente collegato
No no, era chiaro... non a caso ti ho detto di usare un long polling...

Invece avrei proprio bisogno di capire come mostrare correttamente quando un utente è online (mostrando il classico pallino) ma che sopratutto scompaia quando esce dalla sessione
Mi pare di aver risposto al primo intervento...
Con socket.io risolvi la gestione della contemporaneità e la gestione live degli utenti in sessione...
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [php] Come gestire i tags PHP 1
W Gestire ccTalk o libreria c++ da php PHP 0
W [PHP] gestire una richiesta curl sul server PHP 0
webmachine [PHP] gestire rinnovi PHP 1
D Gestire firme digitali con PHP PHP 0
IImanuII Gestire lingua su facebook con php PHP 18
MarcoGrazia Gestire gruppi e categorie di link con PHP PHP 1
N Gestire i prodotti con php e database PHP 5
ypsilon86 gestire un albero genealogico con PHP e Mysql PHP 0
L Gestire la durata sessioni in PHP PHP 2
D Gestire Crystal Report da PHP PHP 3
Z Gestire foto con php e mysql PHP 1
B gestire immagini PHP PHP 4
F Configurazione PHP/Apache per gestire AJAX PHP 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 3
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 0
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0

Discussioni simili