了解表单输入验证的“isset $_POST”行为
在 Web 开发中使用表单时,验证用户输入至关重要确保数据完整性。一种常见的场景是在继续操作之前检查输入字段(例如电子邮件地址)是否已填写。
在给定场景中,开发人员面临验证机制不断返回“是的,邮件正在发送”的问题。设置”,即使用户提交空表单。要理解为什么会发生这种情况,让我们深入研究 isset($_POST["mail"]) 的行为。
isset($_POST["mail"]) 做什么?
PHP 中的 isset() 函数检查指定的变量是否已设置,这意味着它已被分配了一个值,即使该值是空的。在表单提交的情况下,$_POST["mail"] 表示在名为“mail”的输入字段中输入的值。
为什么总是设置它?
大多数表单输入,包括文本输入字段,总是被设置的,无论它们是否为空。这是因为当表单提交时,它的所有输入,即使是空的,都包含在 $_POST 超全局数组中。
更正验证
准确验证如果输入为空,则应使用 !empty() 运算符。如果变量不为空,包括非空字符串和非零数字,!empty() 运算符返回 true。
因此,修改后的验证代码为:
if (!empty($_POST["mail"])) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; }
此更正确保仅当输入字段包含非空值时才显示“邮件已设置”消息。
以上是为什么即使输入空表单,`isset($_POST['mail'])` 也总是返回 True?的详细内容。更多信息请关注PHP中文网其他相关文章!