我发现自己现在正在研究很多其他人的代码.我if (isset($_POST))在一些代码中注意到并确保修复它.(它总会评估true).然后我开始看到这个:
if ($_POST)
Run Code Online (Sandbox Code Playgroud)
经过深思熟虑后,它让我很烦,但似乎仍然有效.有没有人看到使用它检查表单是否已提交有任何问题?如果$_POST数组为空,则其计算结果为false.这可能不起作用的任何特殊情况?
这是一个不可靠的测试 - 它假定至少会提交一个表单元素.完全有可能在没有提交数据的情况下执行POST,这会使if ($_POST)评估为false,但在实际执行POST时会出现meta-false.
适当的100%可靠测试是
if ($_SERVER['REQUEST_METHOD'] == 'POST') { ... }
Run Code Online (Sandbox Code Playgroud)