删除按钮不起作用.错误:找不到对象



我正在做一个电子商务网站。到目前为止,除了我想根据我的购物车数据库删除购物车中的项目之外,一切都还可以。cart由cart_id和menu_id组成。

每当我单击按钮(删除(时,都会显示一个错误";找不到对象!在此服务器上找不到请求的URL。推荐页面上的链接似乎是错误的或过时的。请将错误通知该页的作者。如果您认为这是服务器错误,请联系网站管理员。错误404本地服务器Apache/2.4.52(Unix(OpenSSL/1.1.1m PHP/8.1.2 mod_perl/2.0.11 perl/v5.32.1">

我想不出我犯了什么错。希望你能帮我。谢谢

<div class="container-2">
<?php
include('cart.php');
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (isset($_POST['delete_submit'])) {
// call method addToCart
$Cart->deleteCart($_POST['menu_id']);
}
}
?>
<div class="row">
<div class="col h2 ">
<img src="https://logos-world.net/wp-content/uploads/2020/09/Starbucks-Emblem.png" class="Logo" alt="Logo" />
</div>
</div>
<div class="row" style="min-height: 20vh; border-top: 1px solid #dee2e6;">
<div class="col" style="text-align: left;">
<!-- Display Item From Database -->
<h3>Order here</h3>

<div class="row" style="padding: 1rem; background-color: #FFFFFF; border-radius: 10px; border: 1px solid #dfdfdf;">
<?php
foreach ($menu->getData('cart') as $item) :
$cart = $menu->getProduct($item['menu_id']);
$subTotal[] = array_map(function ($item) {
?>
<div class="col">

<div>
<img src="<?php echo $item['menu_image'] ?? "./menu-img/Warm Drinks/Brewed Coffee/Caffe ministo.jpeg"; ?>" style="width: 80%; border-radius: 25px;">
</div>
<div style="padding: 0.5rem;">
<h3>₱ <?php echo $item['menu_price'] ?? "0.00"; ?></h3>
</div>
</div>
<div class="col" style="margin: auto;">
<h5><?php echo $item['menu_name'] ?? "Unknown"; ?></h6><br>

</div>
<div class="col text-center" style="padding-top: 8%;">
<form action="post">
<input value="<?php echo $item['menu_id'] ?? 0; ?>" name="menu_id">
<?php
echo '<button type="submit" name="delete_submit" class="btn-default btn-lg"><p >Delete</p></button>';
?>
</form>
</div>
<!-- !cart item -->
<?php
return $item['menu_price'];
}, $cart);
endforeach;
?>
</div>

</div>
</div>

功能:

public function deleteCart($menu_id = null, $table = "cart")
{
if ($menu_id != null) {
$result = $this->db->con->query("DELETE FROM {$table} WHERE menu_id={$menu_id}");
if ($result) {
header("Location:" . $_SERVER['PHP_SELF']);
}
return $result;
}
}

您已经将Form元素的action属性设置为post。这个属性实际上指定了post数据应该发送到的URL。因此,它不是POSTing到当前URL,而是试图将数据作为GET请求(默认方法(发送到http://yourdomain/post。您需要做的是设置method属性,而忽略action属性。

<form method="post">
<button> Delete </button>
</form>

最新更新