理解“If isset $_POST”问题
使用 HTML 表单和 PHP 时,检查是否已设置表单输入使用 isset() 函数完成。但是,在某些情况下,即使表单字段为空,它也可能返回正结果。这可能会导致代码中出现意外行为。
问题
在提供的示例中,始终设置名为“mail”的表单输入,无论它是否包含数据。这是因为大多数表单输入在提交表单时都会自动设置,即使它们留空也是如此。
解决方案
要解决此问题,您需要检查输入是否存在及其是否为空。这可以使用 !empty() 函数来实现。
更正的代码:
<?php if (!empty($_POST["mail"])) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; } ?>
在此代码中,!empty() 函数检查 $_POST["mail" 是否] 变量为空。如果不为空,则表示输入字段已包含数据并已设置。否则,会返回 false,表示输入未设置。
以上是为什么“isset($_POST)”对于空表单输入返回 True?的详细内容。更多信息请关注PHP中文网其他相关文章!