Не могу добавить новые значение к существующей сессии PHP

193
07 сентября 2017, 19:14

У меня есть массив в сессии. В этом массиве находятся данные о первом товаре на который я нажал (имя, цена, кол-во). И вся задача заключается в том, чтобы к этому уже существующему массиву прибавить новые значения в конец.
Например, если я произвожу клик по другому товару, то он должен прибавляться в этот список в конце.
При нажатии на второй товар он добавляется в конец списка, но почему-то первый добавленный товар дублируется. Как исправить дублирование?

Мой код

<?php
   session_start();
   $check='';
   if(!empty($_POST['productName'])){
       $name  = $_POST['productName'];  //Название товара
       $count = $_POST['productCount']; //Кол-во товара
       $price = $_POST['productPrice']; //Цена товара
       $data = array(
                "name" => $name,
                "count" => $count,
                "price" => $price
               );

      if(isset($_SESSION['goods']) && count($_SESSION['goods']) > 0){
          $currentProducts = $_SESSION['goods'];
          array_push($currentProducts, $data);
          $_SESSION['goods'] = $currentProducts;
      }
      else {
          $_SESSION['goods'] = array();
          array_push($_SESSION['goods'], $data);     
      }
      $cartInfo = "";         
      foreach($_SESSION['goods'] as $product){
          $cartInfo = $cartInfo."<p class='product_name'>".$product['name']."</p>";
          $cartInfo = $cartInfo."<p class='product_count'>".$product['count']."</p>";
          $cartInfo = $cartInfo."<p class='product_price'>".$product['price']."</p>";
      }
      var_dump($currentProducts);         
     //$a = json_encode($_SESSION['goods']);
     //echo $a;
   }
   else{
      echo "GG";
   }
?>
READ ALSO
Получить html код php

Получить html код php

Здравствуйте, есть страницаНужно получить ее html код

200
Oшибка: &#39;pobj&#39; was not declared in this scope [требует правки]

Oшибка: 'pobj' was not declared in this scope [требует правки]

Разбираю пример из учебника и столкнулся сразу же с ошибкой

198
Способ представления знаковых целых в C++

Способ представления знаковых целых в C++

В стандарте языка указано, что для для представления целочисленных типов (integral types) допускается использовать один из трёх способов:

306