我希望这是有道理相对于标题和我想要实现的,所以这里去...遍历多个POST变量使用动态命名
我有一个介于1至30显示一个表单要输入的字段 - 字段数由用户在前一阶段确定(它不总是相同的数量)。
如果用户有5个字段要填写,他们必须都包含数据 - 如果他们设置了15个字段或30个字段,则它们都是相同的。
我希望能够做的是通过表单中的POST变量循环,确保它们都已设置并将数据插入到数据库或显示错误。
我打算做30 if语句嵌套的if语句:
if ($numberOfFields == 1){
if (!$_POST["field1_text"]){$error = 1;}
};
if ($numberOfFields == 2){
if (!$_POST["field1_text"]){$error = 1;}
if (!$_POST["field2_text"]){$error = 1;}
};
但这似乎很长篇大论的方式,我想知道如果任何人有任何建议或指针。
我在想,如果像这样的工作:
for ($q = 1; $q <= $numberOfFields; $q ++){
if (!$_POST["field'".$q."'_text"]){
$error = 1;
}
}
但我发现了一个错误引用使用$ Q变量/字段名。这应该是[$ q]还是别的?
我很努力地找到任何答案,但可能没有问正确的问题,但任何帮助,将不胜感激。
感谢
除了,你不必要添加(有害)单引号串联'$ q'。另外,我只是使用简单的“双引号插值”就像这样:'if(!$ _ POST [“field {$ q} _text”]){'。 – svidgen