全部, 我有一个表单,有一些文本输入,复选框,选择框和textarea。我想使用提交按钮将表单与PHP一起提交到页面进行处理。
那部分没问题,但我想做的基本上是将结果放到一个数组中,这样我就可以做一个foreach循环来处理结果。
基本上我正在尝试创建一个动态表单,提交到我的后端处理脚本,并且不想在post值中硬编码,如下所示:
$var1 = $_POST['var1'];
echo $var1;
$var2 = $_POST['var2'];
echo $var2;
有谁知道如何做这样的事情或提出任何建议?
答案 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值都将放在一个与字段名称相同的变量中。