sto leggendo questo tutorial:

http://php.html.it/articoli/leggi/87...tive-in-php/1/

ho preso la parte dove gestisce le sessioni con file di testo e non con DB.
Avviando il testo con test_session.php( credo sia questa la pagina per il test, anche eprchè non la indica nel tutorial), purtroppo mi restituisce questo errore:

Warning: Cannot modify header information - headers already sent by (output started at websites\sessioni\config.inc.php:10) in websites\sessioni\file_session_class.php on line 24

questa è la test_session.php
codice:
<?php
// inclusione del file che contiene la classe
require('file_session_class.php');

// Istanziamo l'oggetto
$my_session = new my_session($session_dir, $session_time, $session_gc_time);

// Aggiorniamo, se necessario, la sessione "allungando la vita" del cookie
$my_session->my_session_start();

// Inizializziamo l'array che conterrà i dati della sessione
$_MY_SESSION_VARS = array();

/* Richiamiamo il metodo che ci restituirà le variabili di sessione, e memorizziamo
le stesse nell'array $_MY_SESSION_VARS; in alternativa avremmo potuto ottenere il
valore di una sola variabile, specificandone il nome come argomento del metodo */
$_SESSION_VARS = $my_session->my_session_read();

/* In questo semplice esempio ci limitiamo a stampare a video,
formattandole, tutte le variabili di sessione registrate,
ovviamente possiamo farne l'utilizzo desiderato */
echo '';
print_r($_SESSION_VARS);
echo '';

?>

questo è quanto contiene config.inc.php
codice:
<?php
// valori espressi in secondi
$session_time = 0; // durata del cookie
$session_gc_time = 1800; // tempo per l'esecuzione della garbage collection

/* la directory dove memorizzare i dati della sessione,
sui sistemi Unix like, deve avere tuti i permessi (777) */
$session_dir = './test'; // senza slash finale
?>

questo invece file_session_class.php
codice:
<?php
require('config.inc.php');

	class my_session {
	
		var $session_dir; // la dir. dove fare lo storage dei dati di sessione
		var $my_session_id; // l'id di sessione
		var $session_time; // la durata della sessione
		var $session_gc_time; // il tempo per la garbage collection
	
		//il costruttore della classe, inizializza le variabili
		function my_session($session_dir, $session_time, $session_gc_time) {
			$this->my_session_id = (!isset($_COOKIE['my_session_id']))? md5(uniqid(microtime())): $_COOKIE['my_session_id'];
			$this->file_name = 'sess_' . $this->my_session_id;
			$this->session_dir = $session_dir;
			$this->session_time = $session_time;
			$this->session_gc_time = $session_gc_time;
		}
	
		// avvia o aggiorna la sessione
		function my_session_start() {
			$cookie_expire = ($this->session_time > 0) ? (time() + $this->session_time) : 0;
			if(!isset($_COOKIE['my_session_id'])) {
				setcookie('my_session_id', $this->my_session_id, $cookie_expire);
			} 
			else{
				if($this->session_time > 0)	setcookie('my_session_id', $this->my_session_id, $cookie_expire);
			}
		}
	
		// registra le variabili di sessione nel database
		function my_session_register($name, $value) {
			$session_name = (!isset($_COOKIE['my_session_id']))	? 'sess_' . $this->my_session_id : $this->file_name;
			$_MY_SESSION = array();
			if(file_exists($this->session_dir . '/' . $session_name)) {
				$_MY_SESSION = unserialize(implode('', file($this->session_dir . '/' . $session_name)));
				$_MY_SESSION[$name] = $value;
			} 
			else {
				$_MY_SESSION[$name] = $value;
			}
			$fp = fopen($this->session_dir . '/' . $session_name, 'wb');
			fputs($fp, serialize($_MY_SESSION));
			fclose($fp);
		}
	
		/* legge e restituisce le variabili di sessione
		(o la singola variabile specificata */
		function my_session_read($key = '') {
			if(file_exists($this->session_dir . '/' . $this->file_name)) {
				$session_vars = unserialize(implode('', file($this->session_dir . '/' . $this->file_name)));
				return (isset($key) && $key) ? $session_vars[$key] : $session_vars;
			}
		}
	
		// distrugge la sessione, senza cancellare il cookie
		function my_session_destroy() {
			@unlink($this->session_dir . '/' . $this->file_name);
		}
	
		// procedura di garbage collection
		function my_session_gc() {
			$d = dir($this->session_dir);
			while ($entry = $d->read()) {
				if($entry != '.' && $entry != '..') {
					if(is_dir($entry)) continue;
					if(strpos($entry, 'sess_') !== FALSE) {
						if((filemtime($this->session_dir . '/' .$entry) + $this->session_gc_time) < time()) {
							@unlink($this->session_dir . '/' .$entry);
						}
					}
				}
			}
		$d->close();
		}
	
	}

?>

Sapete dirmi perchè mi restituisce quell'errore?
Grazie mille.....