ho provato a modificare qualcosa ma sono ancora più confuso!! Ho pensato che era possibile gestire la stampa del carrello non da cesta.html ma con un altra funzione in .php e ho pensato di modificare i php dei form per l'aggiunta del preciso prodotto al carrello per effettuare un miglior controllo:
*aggiungiProdotto.php
Codice PHP:
<?php
session_start();
//controllo se già esiste un carrello
if(isset($_SESSION["carrello"])){
print_r($_SESSION["carrello"]);
include("cart.php");
$cest = new cart();
//esiste quindi modifico il carrello esistente
$cest= $_SESSION["carrello"];
$cantidad= $_POST['cantidad'];
$cest->add("SE00",1,0,50);
$_SESSION["carrello"]= $cest;
include('cesta.html');
}else{
//non esiste, creo un nuovo carrello
include("cart.php");
$cest = new cart();
$cantidad= $_POST['cantidad'];
$cest->add("SE00",1,0,50);
$_SESSION["carrello"]= $cest;
include('cesta.html');
}
?>
stampaCest.php inclusa in cesta.html
Codice PHP:
<?php
session_start();
if(isset($_SESSION["carrello"])){
include_once("cart.php");
$cest = new cart();
$cest= $_SESSION["carrello"];
$cest->printcart();
} else {
echo "carrello vuoto!"; }
?>
Con queste modifiche, non mi stampa più nemmeno il primo carrello, non mi aggiunge proprio i prodotti.. Perchè?
Il print_r($_SESSION["carrello"]) in aggiungiProd.php dopo il controllo dell'esistenza del carrello mi da come risultato:
codice:
__PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] =>
cart [id] => Array ( [0] => PR01 ) [qt] => Array ( [0] => 5 )
[vt] => Array ( [0] => 0 ) [precio] => Array ( [0] => 70 ) )
Fatal error: main() [function.main]: The script tried to execute a method or access a property
of an incomplete object.
Please ensure that the class definition "cart" of the object you are
trying to operate on was loaded _before_ unserialize() gets called or
provide a __autoload() function to load the class definition
in C:\Portale\wamp\www\segurafinal\aggCamEst.php on line 9
anche se è la prima volta che effettuo un acquisto.. come mai???