单击一个按钮调用多个 PHP 函数

Call multiple PHP functions on the click of a button

我是 php 的新手,运行 遇到了改编别人程序的问题。我正在尝试实施购物车样式 php 和 javascript 程序。购物车通过提交按钮发布值来接受新条目,包括 ID、数量、名称和价格。

    <form method="post" style="border:0px solid yellow;" ><fieldset>
    <input type="hidden" name="jcartToken" value="<?php echo $_SESSION['jcartToken'];?>" />
        <input type="hidden" name="my-item-id" value="1" />
        <input type="hidden" name="my-item-name" value="apples" />
        <input type="hidden" name="my-item-price" value="2" />
        <input type="hidden" name="my-item-qty" value="1" size="3" />


<input id="apples" type="submit" name="my-add-button" class="add" value="&nbsp"/>Apples - 

</fieldset></form>

购物车通过 php 文件

通过 GET 命令删除项目
    if($_GET['jcartRemove'] && !$_POST) {
        $this->remove_item($_GET['jcartRemove']);
    }

这个GET命令可以通过

触发
    <a href="index.php?jcartRemove=apples">no more apples</a>

但这只会触发一次。我想要的是一个项目列表

并且当通过表单 post 方法选择一个并添加到购物车时,其他两个会自动从购物车中删除。有没有办法使用 AJAX 推送 jcartRemove 函数并通过 ID 删除两个项目?

如有任何帮助,我们将不胜感激。

与其进行多次 AJAX 调用,不如修改 PHP 并允许删除函数接受数组而不是仅接受一项。然后你可以将一个或多个项目传递给它一次全部删除。

例如:

if($_GET['jcartRemove'] && !$_POST) {
    if (is_array($_GET['jcartRemove'])) {
        foreach($_GET['jcartRemove'] as $item) {
             $this->remove_item($item);
        }
    } else {
        $this->remove_item($_GET['jcartRemove']);
    }
}

你的 link 看起来像这样有多个项目:

<a href="index.php?jcartRemove[]=apples&jcartRemove[]=bananas">no more apples or bananas</a>

因为我们正在检查 jscartRemove 是否是一个数组,您仍然可以像往常一样将单个项目传递给它,它也将继续工作。