Diskuze: session jako pole
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Protože přepisuješ index novým produktem místo toho abys v něm měl pole s prvky a přidával je. Takže vyměnit:
$_SESSION['produkt'] = $produkt;
za
if (empty($_SESSION['produkt'])){
$_SESSION['produkt'] = [];
}
$_SESSION['produkt'][] = $produkt;
// EDIT
Tenhle řádek chceš dát asi pryč, protože pak přepisuješ
$_SESSION['produkt'] novým polem s produktem na indexu 0.
$produkt = array($produkt);
Podobné řešení jsem zkoušel a toto taky nefeunguje. Vyhodí mi to
chybovou hlášku: Fatal error: Uncaught Error: [] operator not supported for
strings in
Problém je v posledním řádku
$_SESSION['produkt'][] = $produkt;
A když nepoužiju kod níže, tak se zase hodnota produktu přepíše
$_SESSION['produkt'] = $produkt;
Pak máš v $_SESSION['produkt'] uložený string, který tam nemá co dělat Zavolej si jednou unset($_SESSION['produkt']) a pak to zkus znovu.
Funguje, děkuji, problém byl v tom že session produkt jsem v aplikaci již používal a nedošlo mi že mám duplicitní název .
Zobrazeno 5 zpráv z 5.