0

我想使用会话来计算添加到购物车中的商品数量。下面我有一个提交按钮,它从数据库中提取 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。

4

1 回答 1

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

然后继续 define('TITLE' , 'Items in cart');

于 2012-05-11T00:49:22.763 回答