Salve a tutti....chiedo aiuto! Ho provato a fare l'esempio delle Sessioni in php spiegato tra le guide di questo sito... tutto copiato perfettamente. una volta che però vado ad aprire il file test_sessio.php per testare il tutto mi viene fuori questo errore:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/netsons.org/cisiamotutti/sessionphp/config.inc.php:14) in /var/www/netsons.org/cisiamotutti/sessionphp/db_session_class.php on line 24
il file db_session_class.php è:
<?php
require('config.inc.php');
class my_session {
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_time, $session_gc_time) {
$this->my_session_id = (!isset($_COOKIE['my_session_id']))
? md5(uniqid(microtime()))
: $_COOKIE['my_session_id'];
$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);
mysql_query("INSERT INTO my_session VALUES('" . $this->my_session_id . "', '', " . time() . ")");
} else {
if($this->session_time > 0)
setcookie('my_session_id', $this->my_session_id, $cookie_expire);
}
}
/* registra la variabili di sessione
specificata nel database */
function my_session_register($name, $value) {
$_MY_SESSION = array();
$session_query = mysql_query("SELECT session_vars FROM my_session
WHERE sessid = '{$this->my_session_id}'");
if(mysql_num_rows($session_query) > 0) {
$result = mysql_fetch_array($session_query);
$_MY_SESSION = unserialize($result['session_vars']);
$_MY_SESSION[$name] = $value;
mysql_query("UPDATE my_session SET session_vars = '" . serialize($_MY_SESSION) . "'
WHERE sessid = '{$this->my_session_id}'");
} else {
$_MY_SESSION[$name] = $value;
mysql_query("UPDATE my_session SET session_vars = '" . serialize($_MY_SESSION) . "'
WHERE sessid = '{$this->my_session_id}'");
}
}
/* legge e restituisce le variabili di sessione
(o la singola variabile specificata */
function my_session_read($key = '') {
$session_query = mysql_query("SELECT session_vars FROM my_session
WHERE sessid = '{$this->my_session_id}'");
if(mysql_num_rows($session_query) > 0) {
$result = mysql_fetch_array($session_query);
$session_vars = unserialize($result['session_vars']);
return (isset($key) && $key) ? $session_vars[$key] : $session_vars;
}
}
/* distrugge la sessione, rimuovendo i relativi
dati (non cancella il cookie) */
function my_session_destroy() {
mysql_query("UPDATE my_session SET session_vars = ''
WHERE sessid = '{$this->my_session_id}'");
}
// procedura di garbage collection
function my_session_gc() {
mysql_query("DELETE FROM my_session
WHERE session_date < " . (time() - $this->session_gc_time));
}
} // end class
?>
che richiama il file config.inc.php:
<?php
// valori espressi in secondi
$session_time = 0; // durata del cookie
$session_gc_time = 1800; // tempo per l'esecuzione della garbage collection
// variabili MySql
$db_host = 'mysql5.netsons.org';
$db_user = 'cisiamotutti';
$db_password = 'ps231284';
$db_name = 'cisiamotutti';
?>
se qualcuno che ne capisce piu di me magari ha il tempo di guardarci mi farebbe un grandissimo favore....
Grazie a tutti cmq....