PHP:如何设置$_POST数组的默认值



我正在构建一个电子商务网页;添加到购物车";按钮。这里,当加载第一页时,我想显示一个默认值"0";1〃;。之后,客户可以调整数量。我正在使用POST方法来保存输入的数量,但我不确定如何设置默认值";1〃;。以下是我的代码:

<section>
<?php
if (!empty($_POST)) {
$error = false;
if (empty($_POST["quantityInput"])) {
echo "<p class='errorMessage'> Quantity must be entered. </p>";
$error = true;
}
}
?>
<td class="quantityColumn">
<form action="cart.php" method="post">
<input type="number" id="quantityInput" name="quantityInput" min="1" max="10"
<?php
if (isset($_POST["quantityInput"])) echo "value='" . $_POST["quantityInput"] . "'";
?>>
<input type="submit" id="updateButton" value="Update">
</form>
</td>
</section>

我尝试设置$_POST['quantityInput'] = "1",但当我输入新值并提交表单时,它只显示";1〃;,而不是新的价值观。。。有没有一种方法可以使用PHP设置默认值?我应该研究什么方法/函数?

如果未定义quantityInput,则可以使用空合并运算符

例如。

$_POST["quantityInput"] = $_POST["quantityInput"] ?? 1;
// Or on the short form
$_POST["quantityInput"] ??= 1;

如果不存在$_POST["quantityInput"],则将其设置为1,平均默认值为

输入字段可以这样写:

<input
type="number"
id="quantityInput"
name="quantityInput"
min="1"
max="10"
value="<?= isset($_POST["quantityInput"]) ? 1 : $_POST["quantityInput"] ?>"
>

最新更新