PHP7.4 表单数据returns空字符串
PHP 7.4 form data returns empty string
我尝试从数据库中删除数据
if (isset($_POST['checkbox']) && isset($_POST['delete_btn'])) {
$productId = $_POST['id'];
$stmt = $database->prepare("DELETE FROM product WHERE id = :id");
$stmt->execute(array(':id' => $productId));
}
这是我的 HTML
<form action="/" method="POST" class="list-btn-top">
<button class="btn" type="submit" name="delete_btn" id="delete-product-btn">Mass delete</button>
</form>
<?php foreach ($stmt as $product): ?>
<div class="container">
<form action="" method="POST">
<input class="delete-checkbox" name="checkbox" type="checkbox" value="<?= $product['product_id'] ?>">
</form>
<p class="text-line"><?= $product['product_id'] ?></p>
<p class="text-line"><?= $product['sku'] ?></p>
<p class="text-line"><?= $product['name'] ?></p>
<p class="text-line"><?= $product['price'] ?></p>
<p class="text-line"><?= $product['product_value'] ?></p>
</div>
<?php endforeach; ?>
你应该改变
$productId = $_POST['id'];
至
$productId = $_POST['checkbox'];
当您在复选框值中发送 id 但在您的代码中您选择了错误的索引,即 id
没有获得任何值的原因是您在提交按钮后立即关闭了表单。所以没有其他数据属于该表格。将按钮置于与复选框相同的形式,反之亦然。
我尝试从数据库中删除数据
if (isset($_POST['checkbox']) && isset($_POST['delete_btn'])) {
$productId = $_POST['id'];
$stmt = $database->prepare("DELETE FROM product WHERE id = :id");
$stmt->execute(array(':id' => $productId));
}
这是我的 HTML
<form action="/" method="POST" class="list-btn-top">
<button class="btn" type="submit" name="delete_btn" id="delete-product-btn">Mass delete</button>
</form>
<?php foreach ($stmt as $product): ?>
<div class="container">
<form action="" method="POST">
<input class="delete-checkbox" name="checkbox" type="checkbox" value="<?= $product['product_id'] ?>">
</form>
<p class="text-line"><?= $product['product_id'] ?></p>
<p class="text-line"><?= $product['sku'] ?></p>
<p class="text-line"><?= $product['name'] ?></p>
<p class="text-line"><?= $product['price'] ?></p>
<p class="text-line"><?= $product['product_value'] ?></p>
</div>
<?php endforeach; ?>
你应该改变
$productId = $_POST['id'];
至
$productId = $_POST['checkbox'];
当您在复选框值中发送 id 但在您的代码中您选择了错误的索引,即 id
没有获得任何值的原因是您在提交按钮后立即关闭了表单。所以没有其他数据属于该表格。将按钮置于与复选框相同的形式,反之亦然。