ボタンが押された後、3つの値がPHPの多次元配列に入れられます。私は同じ大括弧で割り当てる前に値をチェックして、それは正しい値を持っているようです。私はこのような値を追加する場合ただし、:PHPセッションの多次元配列に値が割り当てられていない
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'];
}
出力は、アレイ$_SESSION['shopping_cart']
が空で、値がないことを示しています。
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 />";
}
}
私は、間違った方法で値を割り当てているという結論に達しました。私は間違って何をしていますか?助けてくれてありがとう!
編集: 冒頭に配列が既に初期化されていることを追加するのを忘れてしまった!
if(!isset($_SESSION['shopping_cart'])) {
$_SESSION['shopping_cart'] = array();
}
'$ _SESSION ['shopping_cart']'は決して初期化されていない可能性があります: '$ _SESSION ['shopping_cart'] = array();' – Will
@書いてくれてありがとうそれを投稿に追加するのを忘れました。既に初期化されています。 – user2283719
問題ありません。また、 'session_start();'も呼びますか?もっとコードを見る必要があるかもしれないと思う。 – Will