Problema gestione variabili

navajo75

Utente Attivo
16 Mar 2012
103
1
18
Buongiorno a tutti,

atti.php è una pagina in cui un utente può scegliere una cartellina e personalizzarla con un'intestazione, colore, scegliere la quantità ecc...
Queste informazioni vengono inserite in un form, la cui action manda a riepilogo.php; qui si possono vedere le scelte fatte e mettere il prodotto in un carrello.
Quindi io da atti recupero tutte le variabili che mi interessano. Però questo discorso vale se la persona sceglie un solo prodotto.
Supponendo invece che ne scelga più di uno, posso recuperare solo le informazioni dell'ultimo messo nel carrello. Come faccio allora a recuperare le info di tutti i prodotti messi nel carrello?

Il carrello è stato fatto utilizzando uno script presente su questo stesso sito: https://www.mrw.it/php/articoli/carrello-spesa-php-mysql_769.html

Vi prego di aiutarmi, perchè ci sto sbattendo la testa da giorni, ma non so come uscirne.
 
riepilogo.php è la pagina dove inizio a recuperare le variabili.
Quindi in questa pagina il seguente codice

codice PHP:

session_start();
if (!isset($_SESSION['prodotti'])) $_SESSION['prodotti'] = array();
$prodotti = $_SESSION['prodotti'];
$prodotto = array('colorecarta' => $_POST['colorecarta']);
$prodotti[] = $prodotto;


riepilogo.php manda a carrello.php; qui metto

codice PHP:

$_SESSION['prodotti'] = $prodotti;


A questo punto non so nè in che punto del carrello cominciare a scorrere l'array, nè come farlo.
Ho provato con un ciclo for e con un foreach, ma senza alcun risultato.

Aiuto perfavore!!!
 
ciao
non ho analizzato il codice di claudio, per cui sarebbe meglio che ti rispondesse lui.
ma a lume di naso se vui che la stessa sessione (o anche altri array come i S_POST) comprenda più valori, forse devi usare un array di array
es. se hai la S_SESSION['pinco'] e vuoi che abbia più valori
PHP:
<?php
session_start();
for($k=1; $k<5;$k++){
	$_SESSION['pinco'][]="valore $k";
	$_SESSION['pallo'][]="valore $k";
}
//poi per vederle o usarle
foreach($_SESSION as $ch_1 => $val_1){
	if(is_array($val_1)){
		foreach($_SESSION[$ch_1] as $ch_2 => $val_2){
			echo $ch_2+1 .") la sessione [$ch_1] ha $val_2<br>";
		}
		unset($_SESSION[$ch_1]);
	}
}
?>
guarda che è solo un'idea

p.s.
poi come arrangiarti nello script citato sono .....
 
Ciao e grazie per la risposta,

chi è Claudio? L'autore del carrello?
Aiutatemi perfavore. Sono abbastanza scarso con il PHP ed il tuo post mi risulta poco chiaro.
Non vi chiedo di scrivermi il codice, non sarebbe giusto del resto, però datemi un aiuto più concreto per cortesia.
E' più di una settimana che ci sto sbattendo la testa e non riesco ad uscirne.

Grazie mille
 

Discussioni simili