gpt4 book ai didi

javascript - onClick 从 session 中删除项目

转载 作者:行者123 更新时间:2023-11-28 15:06:50 26 4
gpt4 key购买 nike

我正在尝试从购物车中删除商品。当商品“保存到购物车”时,它们会保存到 session 中。

但现在我希望能够从这个“购物车”中删除某些商品。因为我从这里(stackoverflow)获得了脚本,所以我对代码不太熟悉。我在谷歌上看到了一些答案,这里描述了使用 unset 从 session 中删除条目。但我不知道从哪里开始。如果需要更多信息,请告诉我。感谢您查看我的问题...

这是 HTML(没什么特别的):

<div class="txtHint"></div>

这是我的脚本:

$('.add-product').click(function() {
var productName = $(this).data('product');
$.post('example.com/reload.php', {productName: productName}, function(data) {
$('.txtHint').html(data);
})
});

这是我的 reload.php 文件:

<?php

session_start();

if (!array_key_exists('products', $_SESSION) || !is_array($_SESSION['products'])) {
$_SESSION['products'] = [];
}

$productName = array_key_exists('productName', $_POST) ? (string) $_POST['productName'] : '';

if ($productName) {
$_SESSION['products'][] = $productName;
}
?>

<h4>Saved Items</h4>
<?php foreach ($_SESSION['products'] as $product): ?>
<div class="echo-product"><i style="color:#F60;padding-right:20px;" class="fa fa-anchor" aria-hidden="true"></i><?php echo htmlspecialchars($product); ?></div>
<?php endforeach;?>

更新的代码:按照 Bert Maurau(我希望)的建议。

<?php

session_start();

if (!array_key_exists('products', $_SESSION) || !is_array($_SESSION['products'])) {
$_SESSION['products'] = [];
}

$productName = array_key_exists('productName', $_POST) ? (string) $_POST['productName'] : '';

if(isset($_GET['delparam'])){
unset($_SESSION['products'][$productName]);
}
if(isset($_GET['addparam'])){
$_SESSION['products'][] = $productName;
}
?>

如果我使用它,它不会添加任何新项目...

最佳答案

你应该能够做到:

unset($_SESSION['products'][$productName]);

这将取消设置 array_key 及其与您的产品名称匹配的值。

编辑:使用未设置的代码

HTML:

$('.delete-product').click(function() {
var productName = $(this).data('product');
$.post('example.com/reload.php?delparam', {productName: productName}, function(data) {
})
});

Reload.php(在$productName之后)

if(isset($_GET['delparam'])){
unset($_SESSION['products'][$productName]);
}
if(isset($_GET['addparam'])){
//code for adding product
}

关于javascript - onClick 从 session 中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38567863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com