Salve a tutti vedendo che me l'hanno chiesta due in due 3d...vi posto questa "famosa" classe per le sessioni. La pagina da includere che è la classe è la seguente:

Codice PHP:
<?php
class session {
var 
$file_name;
var 
$sess_dir;
var 
$sess_id;
var 
$sess_file;
var 
$sess_time;
function 
session($session_dir="."$session_time=0) {
  
$this->sess_id = (!isset($_COOKIE['session_id'])) ? (md5(microtime() . $_SERVER['REMOTE_ADDR'])) : ($_COOKIE['session_id']);
  
$this->file_name $this->sess_id ".session";
  
$this->sess_dir = ($session_dir == "") ? "." $session_dir;
  
$this->sess_time = ($session_time 0) ? (time() + $session_time) : 0;
  
$this->sess_file $this->sess_dir "/" $this->file_name;
  if(!isset(
$_COOKIE['session_id'])) {
    
setcookie("session_id"$this->sess_id$this->sess_time);
  }
  global 
$_SESSION;
  
$_SESSION = (@implode(""file($this->sess_file)) == "") ? (array()) : (unserialize(implode(""$this->sess_file)));
}
function 
register($var$value) {
  
$SESS = array();
  if(
file_exists($this->sess_file)) {
    
$SESS = @unserialize(@implode("", @file($this->sess_file)));
  }
  
$SESS[$var] = $value;
  
$fp = @fopen($this->sess_file"wb");
  @
fwrite($fpserialize($SESS));
  
fclose($fp);
  global 
$_SESSION;
  
$_SESSION $SESS;
}
function 
un_set($var="") {
  
$var_to_unset = ($var == "") ? 00112233445566778899 $var;
  
$fp = @fopen($this->sess_file"wb");
  if(
$var_to_unset == 00112233445566778899) {
  @
fwrite($fp"")
  }else{
  global 
$_SESSION;
  unset(
$_SESSION[$var_to_unset]);
  @
fwrite($fpserialize($_SESSION));
  }
  
fclose($fp);
}
function 
destroy() {
  @
unlink($this->sess_file);
  
setcookie("session_id"""time() + 1);
  global 
$_SESSION;
  unset(
$_SESSION);
}
}
?>
ecco adesso vi spiego come utilizzarla.

Per avviare la sessione, come session_start(), sempre dopo l'inclusione basta utilizzare la funzione session() della classe. Il primo parametro è la directory dove salvare i dati di sessione, senza slash finale, quindi per salvare nella dir corrente basta scrivere "." oppure "". Il secondo parametro è la durata, se non viene settata si crea un magic cookie e la sessione si distrugge automaticamente alla chiusura del browser. La sintassi è questa:
Codice PHP:
$session = new session("dir"durata in secondi); 
se non si mette niente nei campi viene creata una sessione nella directory corrente con un magic cookie. Per memorizzare un dato di sessione:
Codice PHP:
$session->register("variabile""valore"); 
questo setta una variabile di sessione con nome "variabile" e valore "valore". Per leggere un dato di sessione basta fare
Codice PHP:
$_SESSION['variabile da leggere'
Per unsettare una variabile di sessione o i dati dell'intera sessione, lasciandola però ancora aperta, scrivete:
Codice PHP:
$session->un_set("variabile"); 
questo distrugge la variabile "variabile", se non si specifica niente vengono cancellati tutti i dati di sessione. Infine per distruggere la sessione basta fare
Codice PHP:
$session->destroy(); 
ecco vi ho detto tutto.

spero serva...come al solito non faccio mai qualcosa di utile al forum