PHP - 简单地将商品添加到购物车并显示结果


PHP - Simple add item to cart and display results

我想使用会话来计算有多少商品添加到购物车。下面我有一个提交按钮,可以从数据库中提取product_id以及标题和描述:

$query = 'SELECT * FROM products ORDER BY date_added DESC'; 
    // Run the query:
    if($r = mysql_query($query,$dbc)) {
        while ($row = mysql_fetch_array($r)) {   
            // Print out the returned results:
            print "<p><h3>{$row['title']}</h3> {$row['description']}<br />
                <form action='add_to_cart.php' method='get'>
                    <input type='hidden' name='add2cart' value='{$row['product_id']}' />
                    <input type='submit' value='Add to Cart' />
                </form>
           </p><hr />'n";
        }     
    }

提交添加到购物车按钮时,如何将以下内容转换为会话以处理我的表单。我创建的这个脚本只是在每次调用或刷新页面时计算cookie,因此它不准确。我想发送唯一的产品 ID 并使用会话将商品添加到购物车,以便购物车中的商品仅在单击添加到购物车按钮时上升。

<?php
if(!isset($_COOKIE['countItems'])){
    $Items = 0;
    setcookie('countItems', $Items); 
}
else{
    $Items = ++$_COOKIE['countItems'];  
    setcookie("countItems", $Items);
} 
define('TITLE' , 'Items in cart'); 
include('templates/header.html');
?>
<div id="main">
<?php
require_once('config.php');
$dbc = mysql_connect(DB_HOST , DB_USER , DB_PASSWORD);
mysql_select_db(DB_DATABASE, $dbc);

if(isset($_COOKIE['countItems'])){
    print "<p>You have $Items items in your shopping cart </p>";
    print "<p><a href='store.php'>Continue Shopping</a></p>";
}  
else{
    print "You have not added any items into your cart.";
}  
?> 
我只需要它

来输出你所看到的,它不需要是逐项列出或任何东西,只需要计算购物车中有多少项目以及有哪些 id。

session_start();
if (! isset($_SESSION['countItems']))$_SESSION['countItems'] = 0;
else $_SESSION['countItems']++;
$Items = $_SESSION['countItems'];

然后继续定义("标题", "购物车中的商品");