la riga:
$_SESSION['carrello'][] .= $codice_prodotto ;
mi da errore.
Fatal error: [] operator not supported for strings in /srv/www/linekit/htdocs/promozioni/carrello.php on line 27
come mai?
Ale
la riga:
$_SESSION['carrello'][] .= $codice_prodotto ;
mi da errore.
Fatal error: [] operator not supported for strings in /srv/www/linekit/htdocs/promozioni/carrello.php on line 27
come mai?
Ale
togli il punto prima dell'uguale
No, il punto mi serve per concatenare. senza il punto come concateno?
Ho bisogno di aggiungere all'array di sessione $_SESSION['carrello'] i valore di $codice_articolo.
Se noti il problema non sta nel punto ma nel []
Ale
ma da quando l'array SESSION è a due dimensioni?
Voglio dire, ho bisogno di registrare sull'array di sessioni una serie di valori (sennò come faccio a fare un carrello)?
Che poi cmq il problema mi si pone ugualmente perchè il mio carrello deve contenere non solo il codice articolo, ma anche la quantità e la variante.
Come faccio a dare a un solo array di sessione tutti questi dati considerando che gli articoli acquistati di solito sono + di uno?
Ale
le sessioni possono contenere di tutto (io ci metto gli oggetti), quindi il problema non sta in eventuali limitazioni delle sessioni.
Progetta una struttura dati che faccia al caso tuo (gli array del php fanno miracoli)
![]()
Potrei fare una cosa del genere:
$_SESSION['carrello'] = $codice_prodotto, $quantita, $variante
IL problema però mi rimane.
Se il faccio una cosa del genere non mi salva la sessione.
Se $_SESSION['carrello'] esiste già e io voglio buttarci dentro altre cose come faccio?
E poi sinceramente non capisco come mai non mi salvi le sessioni.
ALe
ma non puoi fare così?
per poi fare un'explode?Codice PHP:
$_SESSION['carrello'] = $codice_prodotto . "|" . $quantita . "|" . $variante;
La barretta a cosa serve?
Ale
come divisore fra i valori.Originariamente inviato da pig_org
La barretta a cosa serve?
Ale
mettiamo il caso che tu abbia:
con il mio codice metteresti nella sessione il valore 001|10|ccc.Codice PHP:
$codice_prodotto="001";
$quantita="10";
$variante="ccc";
poi, puoi utilizzare la funzione explode per recuperare i singoli valori.
occhio, non so se si tratti della soluzione migliore per risolvere il tuo problema, ma dovrebbe funzionare.