2

所有,我有一个包含一些文本输入、复选框、选择框和文本区域的表单。我想使用 PHP 使用提交按钮将表单提交到页面进行处理。

那部分很好,但我想做的基本上是将结果放入一个数组中,这样我就可以做一个 foreach 循环来处理结果。

基本上我正在尝试创建一个动态表单以提交到我的后端处理脚本,并且不想在 post 值中硬编码,如下所示:

$var1 = $_POST['var1'];
echo $var1;
$var2 = $_POST['var2'];
echo $var2;

有谁知道如何去做这样的事情或给出任何建议?

4

4 回答 4

2

如果您的 POST 中除了这些生成的元素之外没有其他数据,请执行

foreach( $_POST as $key => $val ) {
    // do your job 
}

并处理你所拥有的。如果您想将生成的条目与预定义的条目混合,您可能希望将这些生成的条目放在嵌套数组中:

<input ... name="generated[fieldname]" />

然后你迭代

foreach( $_POST['generated'] as $key => $val ) {
  // do your job
}
于 2012-11-26T21:53:03.843 回答
1

只需使用数组表示法:

<input name="vars[]" value="" />

然后你会有这样的东西$_POST

Array ('vars' => Array(
     0 => 'val1'
     1 => 'val2'
   )
)
于 2012-11-26T21:53:31.813 回答
0
foreach ($_POST as $param_name => $param_val) {
    echo "Param: $param_name; Value: $param_val";
}
于 2012-11-26T21:52:16.113 回答
-1

实际上,$_POST 变量是一个数组。您只需要使用简单的 foreach 循环来提取数组值。就是这样。

我希望这个例子对你有所帮助。

foreach($_POST as $field_name => $val)
{   
  $asig = "\$".$field_name."='".addslashes($val)."';"; 
  eval($asig); 
}

运行此脚本后,所有 POST 值都将放入一个与字段名称同名的变量中。

于 2012-11-26T22:07:14.553 回答