要确定表单是否已提交并因此应该进行验证,可以采用不同的方法。
最初考虑的是检查 $_POST 超全局变量是否存在:
isset($_POST)
但是,这种方法总是返回正确,因为超全局变量是全局定义的。迭代每个表单元素也并不理想:
if(isset($_POST['element1']) || isset($_POST['element2']) || isset(...etc)
更简单的解决方案包括添加一个隐藏的标志字段来检查:
<!-- Form code here --> <input type="hidden" name="submitted" value="1">
// Check if the "submitted" field is set if (isset($_POST['submitted'])) { // Form has been submitted, validate input }
更全面的方法涉及检查请求方法:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
此方法更可取,因为它还适用于 $_POST 超全局中可能不存在没有名称的复选框或按钮的情况。
注意: 重要的是要考虑请求方法可能未设置为 ' 的潜在边缘情况POST,例如在没有 JavaScript 的情况下提交表单时。
以上是如何可靠地检查 PHP 中的表单提交?的详细内容。更多信息请关注PHP中文网其他相关文章!