我正在尝试处理一个我不知道表单字段将会是什么的表单。这仍然可以在PHP中完成吗?
例如,我有这个HTML格式:
<form method="post" action="process.php">
<?php get_dynamic_fields(); // this gets all the fields from DB which I don't know ahead of time what they are. ?>
<input type="submit" name="submit" value="submit" />
</form>
这就是我在PHP流程文件中的内容
<?php
if ( isset( $_POST['submit'] ) && $_POST['submit'] === 'submit' ) {
// process form here but how do I know what field names and such if they are dynamic.
}
?>
这是一个警告:假设我无法提前从数据库获取数据,还有办法吗?
答案 0 :(得分:5)
foreach ($_POST as $key => $value) {
// Do something with $key and $value
}
注意,您的提交按钮将存在于数组$_POST
中,因此您可能需要编写一些代码来处理它。
答案 1 :(得分:1)
你可以像这样迭代所有$ _POST键。
foreach($_POST as $key => $value)
{
echo $key.": ".$value;
}
答案 2 :(得分:1)
这将为您提供HTML表单中使用的字段名称。
$field_names = array_keys($_POST);
您也可以使用
迭代POST数组foreach($_POST as $field_name => $field_value) {
// do what ever you need to do
/* with the field name and field value */
}
答案 3 :(得分:0)
从get_dynamic_fields
函数中获取字段的名称,并将它们传递给隐藏的输入,该输入始终是具有静态名称的数组。然后解析它以获取输入的名称和数量。
答案 4 :(得分:0)
你可以遍历`$ _POST数组的所有部分;
foreach($_POST as $key => $value){
//$key contains the name of the field
}