Dizi PHP öğesi ekleme

2 Cevap php

Ben bir okul atama için bir alışveriş sepeti inşa ediyorum. Ben sepeti değişken öğeler ekleyerek dışında hemen hemen oradayım.

Ben ile benim sepeti oturumu kurdum: $_SESSION['temp_session'] = array();

Bir öğe sepetinize eklendiğinde ve daha sonra, bu kod çalıştırılır

if (isset($_POST['addtocart'])) {
    		$item_name = $_POST['item_name'];
    		$price = $_POST['price'];
    		$qty = $_POST['qty'];

    		$newItem = $item_name.":".$price.":".$qty;
    		//echo $newItem;

    		if (isset($_SESSION['shop_session'])) {
    			array_push($shop_session, $newItem);
    			//header('Location: cart.php');
    			print_r($shop_session);
    		}
    		else {
    		    array_push($temp_session, $newItem);
    			//header('Location: login.php?notLoggedIn=true');
    			print_r($temp_session);
    		}
    	}

hepsi iyi çalışıyor gibi görünüyor s (i yazdırabilirsiniz $newItem ve öğeleri içeren) ama ben $newItem ya $shop_session veya {eklemek çalıştığınızda [(3)]} ve daha sonra onları baskı, orada dizi boştur.

Bu ben array_push() istimal yolu ile yapmak için bir şey mi?

Teşekkürler

2 Cevap

Için RegisterGlobals üzerinde olduğunu? Eğer değilse kullanmanız gerekir

            if (isset($_SESSION['shop_session'])) {
                    array_push($_SESSION['shop_session'], $newItem);
                    //header('Location: cart.php');
                    print_r($_SESSION);
            }
            else {
                array_push($_SESSION['temp_session'], $newItem);
                    //header('Location: login.php?notLoggedIn=true');
                    print_r($_SESSION);
            }

Sen yazamazsınız

$_SESSION['temp_session'] = array();

ve adlı bir değişken $ temp_session olmasını bekliyoruz. Eğer tüm sırayla yanı sıra bir dizi (anahtar adı temp_session ile) bir öğe içeren bir dizi ($ _SESSION) 'dir.

Eğer gibi ek bir satır, ihtiyaç istenen sonuçları amacıyla:

$temp_session = $_SESSION['temp_session'];

ve bu güncelleme ne zaman, tekrar oturum içine:

$_SESSION['temp_session'] = $temp_session;