per quanto sembri strano on line non ho trovato un counter che conti gli accessi ad un sito, ove per accessi intendo da quando uno entra a quando uno esce dal sito, per quante pagine possa visitare

ho trovato milioni di counter per accessi unici (su cookie e ip) o hits a qualsiasi pagina (per cui se visita 100 pagine incrementa il counter di 100), ma non x accessi come vorrei io

allora vorrei farne uno io, semplicissimo che utilizzi un file di testo, basandomi sulle sessioni

premetto che il codice è inserito in un CMS, quindi alla session_start() da inserire prima di ogni codice HTML, per definire una moltitudine di variabili di sessione, ci pensa già il CMS...

pensavo di controllare se una variabile di sessione è settata, se non è settata settarla su un valore qualsiasi per saltare la IF che incrementa il contatore... a qualcosa del genere insomma:

Codice PHP:

$text 
"";
$COUNT_FILE "count_data.txt";

if (
file_exists("$COUNT_FILE")) {
    
$fp fopen("$COUNT_FILE""r+");
    
flock($fp1);
    
$count fread($fpfilesize($COUNT_FILE));
     
flock($fp3);
    
fclose($fp);
    if (!isset (
$_SESSION['counterpass'])) {
        
$count += 1;
        
//session_start();
        
$_SESSION['counterpass'] = "OK";
        
$fp fopen("$COUNT_FILE""w+");
        
flock($fp2);
        
fwrite($fp$count);
           
flock($fp3); 
        
fclose($fp);
        
$text .= $count;
        
$ns -> tablerender("Accessi al sito"$text);         
     }
     
} else {
          
$ns -> tablerender("Attenzione""File dati non trovato");

$ns -> tablerender è il modo con cui il CMS legge poi a modo suo i valori

il codice non funge , né inserendo né escludendo session_start()... il contatore continua ad incrementarsi sempre e comunque ad ogni aggiornamento della pagina... sempre che aggiornare la pagina non significhi una nuova sessione....

e qui non ho capito: ovunque si legge che session_start() deve essere posizionata prima di qualsiasi codice Html, ma se nel corpo del codice devo dichiarare o modificare una variabile come faccio, se sempre ovunque si legge che prima di dichiarare o modificare una variabile occorre riscrivere session_start(), che deve essere sempre in cima a tutto il codice??

altra cosa: rilanciando (se è corretto rilanciare) session_start() resetto tutte le variabili di sessione o una volta dichiarate quelle rimangono fino a fine sessione??

grazie per le precisazioni