Originariamente inviato da filippo.toso
Potresti postare il codice della classe o di una classe più semplice che genera l'errore?
EDIT:
In ogni caso, ricordati di includere il file contenente la definizione della classe, e tutti i file contenenti la definizione delle classi genitore, prima di avviare la sessione.
Codice PHP:
<?PHP class prodotto {//start classe prodotto protected $id; protected $name; protected $col; protected $size; protected $price; protected $Qty; function __construct($id,$name,$col,$size,$price,$Qty) {// inizio funxione __construct $this->id=$id; $this->name = $name; $this->col=$col; $this->size=$size; $this->price = $price; $this->qty = $Qty; return $this; }//fine funzione __construct }//fine classe prodotto ?> <?php session_start(); require('prodotto.class.php'); ini_set('unserialize_callback_func', 'ritorna'); function ritorna($classname) {return "";} class carrello { function __construct() { if (isset($_SESSION['carrrello'])) { $carrello=$_SESSION['carrello']; } else { $carrello=Array(0); $_SESSION['carrello']=$carrello; } } //aggiunge al carrello function add($id,$name,$col,$size,$price,$Qty) { $carrello=$_SESSION['carrello']; //lunghezza del carrello $position=count($carrello); //$trovato=0; /* for ($i=0;$i<count($carrello);$i++) {//apertura for //Verifico se il prodotto è presente nel carrello if ($carrello->id[$i]==$id) $trovato=1; }//chiusura for //Se il prodotto è già presente aggiorno quantità e variante // if ($trovato==1) $this->update($id,$qt,$vt); // else {//altrimenti aggiungo il prodotto al carrello */ $prodotto=new prodotto($id,$name,$col,$size,$price,$Qty); $carrello[$position]=$prodotto; $_SESSION['carrello']=$carrello; } } ?>
OUTPIT
Array ( [0] => 0 [1] => __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => prodotto [id
rotected] => 1 [name
rotected] => prodotto [col
rotected] => bianco [size
rotected] => terza [price
rotected] => 26,50 [Qty
rotected] => [qty] => 4 ) [2] => __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => prodotto [id
rotected] => 2 [name
rotected] => maglietta gialla [col
rotected] => giallo [size
rotected] => terza [price
rotected] => 72,50 [Qty
rotected] => [qty] => 1 ) [3] => __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => prodotto [id
rotected] => 3 [name
rotected] => prodotto 3 [col
rotected] => nero [size
rotected] => terza [price
rotected] => 26,50 [Qty
rotected] => [qty] => 3 ) [4] => __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => prodotto [id
rotected] => 4 [name
rotected] => prodotto 4 [col
rotected] => rosso [size
rotected] => terza [price
rotected] => 26,50 [Qty
rotected] => [qty] => 55 ) [5] => __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => prodotto [id
rotected] => 5 [name
rotected] => prodotto 5 [col
rotected] => rosa [size
rotected] => terza [price
rotected] => 26,50 [Qty
rotected] => [qty] => 13 ) [6] => __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => prodotto [id
rotected] => 661 [name
rotected] => cinometro per gatti [col
rotected] => rosa [size
rotected] => [price
rotected] => 126,50 [Qty
rotected] => [qty] => 1 ) ) Array ( [0] => 0 [1] => prodotto Object ( [id
rotected] => 1 [name
rotected] => prodotto [col
rotected] => bianco [size
rotected] => terza [price
rotected] => 26,50 [Qty
rotected] => [qty] => 4 ) [2] => prodotto Object ( [id
rotected] => 2 [name
rotected] => maglietta gialla [col
rotected] => giallo [size
rotected] => terza [price
rotected] => 72,50 [Qty
rotected] => [qty] => 1 ) [3] => prodotto Object ( [id
rotected] => 3 [name
rotected] => prodotto 3 [col
rotected] => nero [size
rotected] => terza [price
rotected] => 26,50 [Qty
rotected] => [qty] => 3 ) [4] => prodotto Object ( [id
rotected] => 4 [name
rotected] => prodotto 4 [col
rotected] => rosso [size
rotected] => terza [price
rotected] => 26,50 [Qty
rotected] => [qty] => 55 ) [5] => prodotto Object ( [id
rotected] => 5 [name
rotected] => prodotto 5 [col
rotected] => rosa [size
rotected] => terza [price
rotected] => 26,50 [Qty
rotected] => [qty] => 13 ) [6] => prodotto Object ( [id
rotected] => 661 [name
rotected] => maglia gatto [col
rotected] => rosa [size
rotected] => [price
rotected] => 126,50 [Qty
rotected] => [qty] => 1 ) )