使用POST变量而不专门调用它们

时间:2012-11-26 21:47:22

标签: php

全部, 我有一个表单,有一些文本输入,复选框,选择框和textarea。我想使用提交按钮将表单与PHP一起提交到页面进行处理。

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

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

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

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

4 个答案:

答案 0 :(得分:2)

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

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

并处理你拥有的东西。如果要将生成的条目与预定义混合,可能需要将这些条目生成为嵌套数组:

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

然后你迭代

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

答案 1 :(得分:1)

只需使用数组表示法:

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

然后你会得到像$_POST这样的东西:

Array ('vars' => Array(
     0 => 'val1'
     1 => 'val2'
   )
)

答案 2 :(得分:0)

foreach ($_POST as $param_name => $param_val) {
    echo "Param: $param_name; Value: $param_val";
}

答案 3 :(得分:-1)

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

我希望这个例子可以帮助你。

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

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