Как добавить значение в массив сессии, не теряя предыдущие значения? - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь создать страницу со списком товаров, у каждого товара есть ссылка для добавления товара в сеанс массива 'корзина'. ссылки похожи на ?id=1, ?id=2, ?id=3 и т. д., щелкая каждую ссылку, я хочу добавить ее в сеанс массива, не удаляя предыдущие. Я использую это:

if (!empty($_getvars['id'])) {
    $data[$_getvars['id']] = $_getvars['id'];
    $session->set('cart', $data);
} 
print("<pre>");
print_r($session->get('cart'));

Я использую компонент сеанса Symfony с собственным параметром сеанса. $_getvars['id'] на самом деле похоже на $_GET['id']. Проблема этого кода в том, что я потерял предыдущие значения, и каждый раз у меня в сеансе последний выбранный продукт id. Как это решить? Я знаю, что решение похоже на:

$_SESSION['cart'][$_getvars['id']] = "...";
$_SESSION['cart'][$_getvars['id']] = "...";

, но как я использую сеанс Symfony, как я могу это сделать?

1 Ответ

1 голос
/ 23 октября 2019

Вам просто нужно сначала получить его:

if (!empty($_getvars['id'])) {

    $data = $session->get('cart');

    $data[$_getvars['id']] = $_getvars['id'];
    $session->set('cart', $data);
} 
print("<pre>");
print_r($session->get('cart'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...