我在一个页面上有30个html表单,其中25个表单使用ajax。即使用户禁用了javascript,所有30个表单仍然可以发布,因为它只使用PHP而不使用ajax。
例如,我的页面PHP代码看起来像这个
if (!empty($_POST)) {
require '/database-connect-file.php';
require '/functions.php';
$mysqli = connectToDatabase();
require '/what-form-if-else-statements.php';
}
functions.php
页面有400行代码。
由于大多数用户都启用了javascript,PHP是否必须处理if语句中几乎从未运行过的所有500行代码?PHP是否必须在每次加载页面时解释所需的文件,即使通常有空的post变量?
if
语句中的表达式计算结果为TRUE
,则PHP将只执行该块中的require
指令和其他代码行。
如关于表达式的部分中所述,表达式是求值的到其布尔值。如果表达式的计算结果为TRUE,PHP将execute语句,如果它的计算结果为FALSE,它将忽略它。
http://www.php.net/manual/en/control-structures.if.php
尽管如此,如果在表单上使用带有AJAX和method="POST"
的POST
,则!empty($_POST)
可能不起作用。如果AJAX和表单提交都使用POST方法,PHP将不知道两者之间的区别。