2016-04-16 2 views
1

Я хочу добавить продукты в свой массив, но каждый раз, когда я добавляю продукт, он заменяет старый в массиве.PHP Session Array не работает при добавлении более двух элементов

Когда я добавляю 2 вещи, он отлично работает:

Array ([0] => 2 [1] => 8) 

Но когда я пытаюсь добавить третий пункт или больше, она заменяет второй элемент в массиве:

Array ([0] => 2 [1] => 10) 

Здесь мой код:

session_start(); 

    if(isset($_POST['inCart'])) 
    { 
     $id = $_POST['id']; 

     if(!empty($_SESSION['cart'])) 
     {  
      $session = $_SESSION['cart']; 
      $session[] = $id; 

      print_r($session); 
     } 

     else 
     { 
      $_SESSION['cart'] = array($id); 
     } 
    } 

ответ

0

Как я вижу, что вы забыли установить сеанс связи с новыми данными

if(!empty($_SESSION['cart'])) 
     {  
      $session = $_SESSION['cart']; 
      $session[] = $id; 

      $_SESSION['cart'] = $session; 

      print_r($session); 
     } 
+1

Большое спасибо, была глупой ошибкой. Я также сократил свой код сейчас Знаю ли я свою ошибку \t session_start(); \t, если (Исеть ($ _ POST [ 'inWagen'])) { \t \t $ ID = $ _POST [ 'ID']; \t \t , если (Исеть ($ _ SESSION [ 'Корзина'])) { \t \t $ _SESSION [ 'Корзина'] [] = $ ID; \t} \t \t еще { \t $ _SESSION [ 'Корзина'] = массив ($ ID); \t} \t} – Timonvw

Смежные вопросы