在链接单击时将数组中的项存储在SESSION中


Store items in SESSION from array on link click

我目前有一个从数组填充的表。我遇到的问题是将产品存储在"添加到购物车"

    <?php
session_start();
$products = array(
array('SKU'=>'test1', 'name'=>'ProductTest1', 'Price'=>10.00),
array('SKU'=>'test2', 'name'=>'ProductTest2', 'Price'=>11.00),
array('SKU'=>'test3', 'name'=>'ProductTest3', 'Price'=>12.00)
);
if(isset($_GET['action' && $_get['action'] == "addToCart"))
{
$id = $_GET['product']);
if(isset($_SESSION['cart'][$id])){
$_SESSION['cart'][$id]['quantity']++;
}
else
{

?>

下面是正确填充的php表

<?php foreach ($products as $key => $product) {
echo '<tr>';
echo '<td>' . $product['SKU'] . '</td>';
echo '<td>' . $product['name'] . '</td>';
echo '<td>' . '&pound;'. number_format($product['Price'],2) . '</td>';
echo '<td><a href="?action=addToCart&product='. $key.'">Add To Cart </a></td>';
echo '</tr>';
}
?>

我不知道如何使用GET函数存储项目的名称和价格,它应该从URL获取值。

任何帮助将是伟大的!

$products中的元素复制到会话变量中以获取名称、SKU和价格。

if(isset($_SESSION['cart'][$id])){
    $_SESSION['cart'][$id]['quantity']++;
} else {
    $_SESSION['cart'][$id] = $products[$id];
    $_SESSION['cart'][$id]['quantity'] = 1;
}

现在其他脚本可以访问$_SESSION['cart'][$id]['name']$_SESSION['cart'][$id]['Price']

另一个选项是将$products定义放在包含文件中,该文件由另一个页面加载以获取此信息。

最后你可能想把你的产品信息放在一个数据库中,这两个页面都可以访问。