配列を使用して商品ページからショッピング カート ページにデータを渡そうとしています。viewcart.php が前のページから受け取る複数の属性があります (価格、リンク、タイトル、小売業者)。配列を使用してそれらをすべて保存したいと思います。顧客がショッピング カートに商品を追加するたびに、カウンター変数 ($i) を取得して配列 $_SESSION['cart'][$i]['attribute'] をインクリメントしようとしています。どうすればいいですか?
これが新しい商品をカートに追加する正しい方法かどうかわかりません。最後に、for ループを使用して、カート内のすべての商品を表示できるようにしたいと考えています。これは、これまでのショッピング カート スクリプトの開始点です。
<?php
// The shopping cart needs sessions, so start one
session_start();
@$link = $_GET['link'];
$price = $_GET['price'];
$title = $_GET['title'];
$retailer = $_GET['retailer'];
if($link) {
//new item selected
if(!isset($_SESSION['cart'])) {
$_SESSION['cart'] = array();
$_SESSION['items'] = 0;
$_SESSION['total_price'] ='0.00';
}
if(isset($_SESSION['cart'][$link])) {
$_SESSION['cart'][$link]++;
} else {
$_SESSION['cart'][$link] = 1;
}
}
if(($_SESSION['cart']) && (array_count_values($_SESSION['cart']))) {
echo " in your cart and we're working to display them";
}
else {
echo "<p>There are no items in your cart</p><hr/>";
}
?>
これは、私が使用できると考えている for ループです。配列内のすべてのアイテムを表示する方法を探しています。
for ($x=0; $x<=$i; $i++)
{
echo "The price is " . $_SESSION['cart'][$x][price] . " Retailer is " . $_SESSION['cart'][$x] [retailer] . "<br>";
}