我在一个页面上有30个html表单,我使用ajax表示其中的25个表单。即使用户已禁用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变量?
答案 0 :(得分:1)
如果require
语句中的表达式求值为if
,PHP将仅执行该块中的TRUE
指令和其他代码行。
如关于表达式的部分所述,将评估表达式 到它的布尔值。如果expression的计算结果为TRUE,那么PHP将会 执行语句,如果它的计算结果为FALSE - 它将忽略它。
http://www.php.net/manual/en/control-structures.if.php
虽然如果您在表单上使用!empty($_POST)
和AJAX 以及 POST
,method="POST"
可能无效。如果两者都使用POST方法,PHP将不知道AJAX和表单提交之间的区别。