php添加sessionid,php – 自动增加SESSION密钥ID

我在做某事时遇到了问题.

我有这个代码片段来将产品添加到购物车:

$product_id = isset($_GET['product_id']) ? $_GET['product_id'] : "";

$product_name = isset($_GET['product_name']) ? $_GET['product_name'] : "";

$sql = "SELECT * FROM products WHERE product_id LIKE '{$product_id}' AND product_name LIKE '{$product_name}' LIMIT 1";

$stmt = $connection->prepare($sql);

$stmt->execute();

$num = $stmt->rowCount();

if($num == 1)

{

while ($row = $stmt->fetch(PDO::FETCH_ASSOC))

{

extract($row);

if(!isset($_SESSION['cart']))

{

$product_id_session = 1;

}

else

{

$count = count($_SESSION['cart']);

$product_id_session = $count++;

}

$columns = array

(

'product_id_session' => $product_id_session,

'product_id' => $product_id,

'product_name' => $product_name,

'product_price' => $product_price

);

$_SESSION['cart'][$product_id_session] = $columns;

redirect_to('products.php?&message=added&product_name='. $_SESSION['cart'][$product_id_session]['product_name']);

}

}

如您所见,如果创建了会话购物车,我将变量$product_id_session分配给SESSION数组的数量加1.否则,变量$product_id_session设置为1.在购物车页面中,我有一个删除所选产品的链接:

foreach($_SESSION['cart'] as $product)

{

echo "

Remove from cart

";

}

然后,在remove.php文件中,我有这个来处理查询字符串中的数据并从购物车中删除产品:

$product_id_session = isset($_GET['product_id_session']) ? $_GET['product_id_session'] : "";

unset($_SESSION['cart'][$product_id_session]);

我面临的问题是:例如,我在购物车中添加了两个产品.然后我删除了第一个产品,并将另一个产品添加到购物车中.新产品,而不是添加,只会取代以前在购物车中添加的产品,$product_id_session将始终是相同的值.我做错了什么?如何为SESSION指定ID?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值