链接点击时,从阵列中将项目存储在SESSION中

时间:2013-06-12 18:33:03

标签: php html

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

    <?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函数存储项目的名称和价格,GET函数应该从URL中获取值。

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

将元素从$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定义放在包含文件中,该文件由另一页加载以获取此信息。

最终,您可能希望将产品信息放在数据库中,这两个页面都可以访问。