Salve a tutti, vi chiedo un aiuto per uno script in php che sto realizzando cercando di illustrarvi al meglio il mio problema. Premettendo che sono sempre stato abituato a fare questo genere di script in JSP con dei Vector mi è sorta la necessità di realizzarne uno in PHP e forse il mio errore dipende dal non aver capito bene alcune funzioni basilari.
In pratica necessito di realizzare un form per una sorta di sito di E-Commerce. Questo form prevede un modulo entro il quale si inseriscano tre dati "id", "descrizione", "quantità" di un determinato articolo (non ho il problema di avere dati pescati da mysql perchè i cataloghi da cui vengono presi sono cartacei). Ho creato un form che ogni volta che si inserisce uno di questi tre articoli, ricarica la pagina e riporta gli articoli dentro una tabella sotto il form di inserimento.
Per fare ciò ho pensato di inserire gli articoli in un array multidimensionale che rimanesse salvato all'interno di un $_SESSION. E qui inizia il problema poichè il codice che riceve la POST e la salva dentro un SESSION è la seguente:
<?
//Inizializzazione e controllo della sessione
session_start();
//verifica il caso in cui SESSION non esiste
if (isset($_SESSION['prodotti'],$_SESSION['count'])){
echo "1";
if(isset($_POST['idart'],$_POST['desc'],$_POST['tot'])){
echo "2";
$contatore = $_SESSION['count'];
$_SESSION['prodotti'] = array($contatore => array(0 => $_POST['idart'],
1 => $_POST['desc'],
2 => $_POST['tot'])
);
$_SESSION['count'] = $contatore + 1;
}
} else {
echo "3";
if(isset($_POST['idart'],$_POST['desc'],$_POST['tot'])){
echo "4";
$_SESSION['prodotti'] = array(0 => array(0 => $_POST['idart'],
1 => $_POST['desc'],
2 => $_POST['tot'])
);
$_SESSION['count'] = 1;
}
}
?>
Per intenderci quando viene aperta la pagina si passa al caso chiamato "3" che si limita ad intercettare la mancata esistenza della SESSION e va oltre.
Inserito il primo dato si passa ad echo "4" che inserisce il primo gruppo di valori in un array multidimensionale. Mi trascino dietro una variabile di contatore che mi servirà nel forum sotto nel caso decida di cancellare un elemento dell'array.
A questo punto iniziano i problemi perchè il codice relativo ad echo "2" è errato ma per correggerlo necessito di capire alcune cose. Attualmente il codice sovrascrive il mio array[0] con un array[1] e quando sotto apro il ciclo for per richiamare gli elementi, lui mi segnala che il valore array[0] non esiste e si blocca.
Devo cercare di capire come poter fare una sorta di APPEND all'array $_SESSION['prodotti] in modo che poi alla fine con un ciclo for possa richiamare tutti gli elementi e nello stesso tempo se mi necessita, eliminarne.
Spero di essermi spiegato il meglio possibile, qualcuno riesce a schiarirmi le idee?