2016-03-30 29 views
1

Bir düğmeye basıldıktan sonra, PHP'de çok boyutlu bir diziye 3 değer girilir. Değerleri aynı parantez içinde atamadan önce kontrol ettim ve doğru değere sahip gibi görünüyor. Böyle değerleri ekleyin Ancak,:PHP Oturum çok boyutlu dizi herhangi bir değer atamadı

if (isset($_POST['add_to_cart'])) { 
    $count = count($_SESSION['shopping_cart']); 
    echo "Count: $count<br />"; 

    $_SESSION['shopping_cart'][$count]['product_id'] = $_POST['product_id']; 
    $_SESSION['shopping_cart'][$count]['tier'] = $_POST['tier']; 
    $_SESSION['shopping_cart'][$count]['division'] = $_POST['division']; 
} 

çıktı dizisi $_SESSION['shopping_cart'] boştur ve hiçbir değerlere sahip olduğunu göstermektedir.

if (empty($_SESSION['shopping_cart'])) { 
    echo "Your cart is empty.<br />"; 
} 
else { 
    //Display products in cart 
    foreach($_SESSION['shopping_cart'] as $id => $product) { 
     echo $product['tier'] . $product['division'] . "<br />"; 
    } 
} 

Değerleri yanlış bir şekilde atadığım sonucuna vardım. Neyi yanlış yapıyorum? Yardım için teşekkürler!

DÜZENLEME: , dizinin zaten başlangıçta başlatıldığını eklemeyi unutmuş!

if(!isset($_SESSION['shopping_cart'])) { 
    $_SESSION['shopping_cart'] = array(); 
} 
+0

'$ _SESSION [' shopping_cart '] 'un hiçbir zaman başlatılamadı:' $ _SESSION [' shopping_cart '] = dizi(); ' – Will

+0

@Will yazdığınız için teşekkürler. Bunu gönderiye eklemeyi unuttun, Zaten başlatılmış. – user2283719

+1

Sorun yok. Ve ayrıca sen de session_start(); Bence daha fazla kodu görmemiz gerekebilir. – Will

cevap

3

Kodu session_start(); eklemeyi unutmuşum. Bu yüzden Oturum dizisi işe yaramadı! Yardım için teşekkürler @Will

+1

Sorun değil! :) Kendi cevabınızı kabul edildi olarak işaretlemelisiniz. – Will

+0

Evet, denemek istedim ama stackoverflow 2 gün sonra sadece kendi cevabımı kabul edebileceğimi söyledi. – user2283719

İlgili konular