Buongiorno a tutti,
ho implementato nel mio sito un carrello che, tra le altre cose, offre la possibilità di eliminare i prodotti scelti.
Il link sopra chiama una funzioncina all'interno di uno switch che riporto di seguitocodice:<a href="carrello.php?action=cancella&id='.$id.'" title="Elimina il prodotto dal carrello"> Cancella </a>
In effetti il prodotto viene si eliminato dal carrello, ma finisce comunque nella tabella ordini del mio DB.Codice PHP:case 'cancella':
if ($carrello) {
$prodotti = @explode(',',$carrello);
$acquisto = '';
foreach ($prodotti as $prodotto) {
if ($_GET['id'] != $prodotto) {
if ($acquisto != '') {
$acquisto .= ','.$prodotto;
} else {
$acquisto = $prodotto; }
}
}
$carrello = $acquisto;
}
break;
Questo accade perchè, prevedendo che gli utenti possano acquistare più di un prodotto, ho avuto la necessità di memorizzare le informazoni dei vari prodotti scelti in un array che sia anche una variabile di sessione e che qui di seguito riporto
Deve esistere una maniera che mi consenta di eliminare il prodotto che non voglio più acquistare e nello stesso tempo far in modo che ciò che la sessione ha mantenuto in memoria, per quel prodotto stesso, venga cancellato; non riesco a farlo ed è molto tempo che ci sto sbattendo la testa.Codice PHP:if (!isset($_SESSION['prodotti'])) $_SESSION['prodotti'] = array();
$prodotti = $_SESSION['prodotti'];
$prodotto = array('nomecart' => $f['nome'],
'colorecostine' => $_POST['colorecostine'],
'colorecarta' => $_POST['colorecarta'],
'colorestampa' => $_POST['colorestampa'],
'carattere' => $_POST['carattere'],
'quantita' => $_POST['quantita'],
'quantita_arch' => $_POST['quantita_arch'],
'quantita_21297' => $_POST['quantita_21297'],
'quantita_1521' => $_POST['quantita_1521'],
'titolo' => $_POST['titolo'],
'caratteretitolo' => $_POST['caratteretitolo'],
'sottotitolo' => $_POST['sottotitolo'],
'caratteresottotitolo' => $_POST['caratteresottotitolo'], 'indirizzocart' => $_POST['indirizzocart'],
'carattereindirizzocart' => $_POST['carattereindirizzocart'], 'telfaxcell' => $_POST['telfaxcell'],
'caratteretelfaxcell' => $_POST['caratteretelfaxcell'], 'emailsito' => $_POST['emailsito'],
'carattereemailsito' => $_POST['carattereemailsito'],
'subtotaleco' => $f['prezzo'],
'modello' => $_POST['modello'],
'layout' => $_POST['layout']);
$prodotti[] = $prodotto;
$_SESSION['prodotti'] = $prodotti;
Per dovere di cronaca devo dire che già mesi fa avevo aperto un thread al riguardo e se decido di rifarlo oggi, sperando che nessuno si arrabbi, è per più di un motivo.
Innanzitutto perchè devo risolvere per poter consegnare il sito al cliente.
In secondo luogo perchè nonostante la collaborazione di alcune persone, la volta scorsa non sono comunque riuscito a risolvere.
Infine perchè credo che in questo nuovo thread abbia spiegato meglio qual è il problema.
Saluti a tutti,
Marco

Rispondi quotando