gpt4 book ai didi

php - $_POST 没有得到数字零

转载 作者:太空宇宙 更新时间:2023-11-04 14:51:17 24 4
gpt4 key购买 nike

我在表单中有以下代码,当按下提交按钮时,php 端使用 $_POST['revisionCad'] 获取输入值。

<form method="POST">
<input type="number" class="form-control" placeholder="Revision" name="revisionCad" id="revisionCad" min="0">

<button name="submit" class="btn btn-primary" id="submit" tabindex="5" value="Save" type="submit" style="width:200px;">Create/Change Revision</button>
</form>

我的问题

一切正常,除了当我将数字 0 作为输入时,$_POST 没有任何值(value)。我的错误检查提示,请输入一个数字。下面是我的错误检查代码

if(isset($_POST['revisionCad'])){
$revisionCad = $_POST['revisionCad'];
}

if(empty($revisionCad)){
erDisplay('Please select a revision for Cadgui');
}

但是任何大于 0 的数字,$_POST['revisionCad'] 都可以正确抓取。我试图删除 min 属性并将其更改为 -1。但是每当我输入数字 0 时,$_POST['revisionCad'] 都没有获取任何值。谁知道为什么?

最佳答案

要解释为什么会发生这种情况,您必须仔细查看 PHP empty() 函数。从文档中我们看到(强调我的)...

Determine whether a variable is considered to be empty. A variable is considered empty if it does not exist or if its value equals FALSE.

在 PHP 中,零值是一个伪值。所以你得到以下输出,

var_dump(false == 0); // Outputs "true"
var_dump(empty(0)); // Outputs "true"

因此,您需要更改代码以检查变量是否已设置且大于或等于零,您可以通过更改显示给以下内容的代码段来实现这一点。

if (isset($_POST['revisionCad']) && $_POST['revisionCad'] >= 0) {
$revisionCad = $_POST['revisionCad'];
} else {
erDisplay('Please select a revision for Cadgui');
}

关于php - $_POST 没有得到数字零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50920410/

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