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

    utenti che stanno navigando nella pagina

    come si fa il controllo degli utenti che stanno navigando in una pagina in modo che ognuno possa vedere le altre persone che la stanno visualizzando nello stesso momento? non dispongo di database...si riesce comunque? ty!

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Che sia un Database o un file TXT, devi per forza appoggiarti a qualcosa che memorizzi quante sessioni sono state inizializzate.


  3. #3
    infatti pensavo a un file txt, ma non saprei proprio come iniziare. Non mi riferisco al codice, ma proprio all'idea! come si può fare?

  4. #4
    uppo, come si fa a far vedere all'utente usando un file txt le sessioni inizializzate?

  5. #5
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Prima di tutto prepari delle funzioni che aggiungano e tolgano "righe" dal file txt.
    Fatto questo fai in modo che nel momento ch euno entra nella pagina venga creata una variabile di sessione. Creata la variabile, aggiungi una riga al file txt e poi conti il numero di righe ed ottieni il numero di utenti connessi in quel momento.
    Ovviamente devi fare in modo che alla distruzione di una sessione venga tolta una riga dal file txt e via cosi....ottieni un "log" aggiornato degli utenti che stanno navigando.

  6. #6
    ty

  7. #7
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Se dovesse servirti ecco un set di funzioni "rudimentali" ma efficaci per il printing del numero utenti connessi:

    Codice PHP:
    <?
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //////// FUNCTIONS /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    function chk_session($file)
    {
        
    $sid session_id();
        
    $a file($file);
        
    $content $a[0];
        
    $content substr($content0strlen($content));
        
    $b explode("-"$content);
        
    $found 0;
        for(
    $i=0;$i<count($b);$i++)
        {
            list(
    $fsid$ftime) = explode(","$b[$i]);
            if(
    $fsid == $sid)
            {
                
    $b[$i] = $sid.",".time();
                
    $found 1;
            }
            if(!
    chk_session_time($ftime))
            {
                unset(
    $b[$i]);
            }
        }
        
        if(
    $found == 1)
        {
            
    $rs = @fopen($file"w+");
            
    $content implode("-"$b);
            
    fwrite($rs$content);
            return 
    true;
        }    
        else
        {
            return 
    false;
        }
    }

    function 
    add_session($file)
    {
        
    $rs = @fopen($file"a");
        
    $a file($file);
        if(
    count($a) == 0)
            
    fwrite($rssession_id().",".time());
        else
            
    fwrite($rs"-".session_id().",".time());
    }

    function 
    chk_session_time($time)
    {
        
    $timeouts 180;
        
    $timeout time() - $timeouts;
        if(
    $time $timeout)
            return 
    false;
        else
            return 
    true;
    }

    function 
    chk_session_number($file)
    {
        
    $a file($file);
        
    $content $a[0];
        
    $b explode("-"$content);
        
    $n count($b);
        return 
    $n;
    }

    function 
    chk_session_file($file)
    {
        if(!
    file_exists($file))
        {
            if(!
    fopen($file"w+"))
                echo 
    "Si è verificato un errore durante la creazione del file. Verificare i diritti di scrittura.";
        }
    }

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //// END FUNCTIONS /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    if(!session_id()) { session_start(); } // faccio partire la sessione nel caso non fosse gia' attiva

    $filename "./session.txt"// definisco con che nome e dove salvare il file txt

    chk_session_file($filename); // controllo che il file esista altrimenti mi assicuro di crearlo

    if(!chk_session($filename)) // controllo se la sessione è presente. In caso la aggiungo alla lista (nel frattempo elimino quelle scadute)
    {
        
    add_session($filename); // aggiungo la sessione alla lista
    }

    echo 
    chk_session_number($filename)." utenti stanno visitando il sito"// stampo quante sessioni sono attive al momento.

    ?>

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.