Php 如何响应动态表单的元素?

Php 如何响应动态表单的元素?,php,html,forms,Php,Html,Forms,我有一个动态表格 用户可以根据需要创建n个字段。 他可以创造1,2,3,4。。。表单中的元素数 在这里编码id <form method="post" action=""> <label>Service</label> <select name="service"> <option value="1">Purchase</option> <option value="2">Sale</option>

我有一个动态表格

用户可以根据需要创建n个字段。 他可以创造1,2,3,4。。。表单中的元素数

在这里编码id

<form method="post" action="">
<label>Service</label>
<select name="service">
<option value="1">Purchase</option>
<option value="2">Sale</option>
<option value="3">Rent</option>
</select>
<label>Number of fields</label><input type="text" name="no_fields"><br>
<input type="submit" name="submit">
</form>
<?php
if($_POST['no_fields']>0)
{
    ?>
    <form method="post" action="">
    <?php
    $j=$_POST['no_fields'];
    $s=$_POST['service'];
    for($i=1;$i<=$j;$i++)
    {
        ?>
        <?php echo $i.". "; ?>
        <label>Name of the field : </label><input type="text" name="name_field[]">
        <label>Type : </label>
        <select name="type[]">
        <option>text</option>
        <option>textarea</option>
        <option>button</option>
        <option>radio buton</option>
        <option>checkbox</option>
        </select>
        <br><br>
        <?php
    }
    ?>
    <input type="hidden" name="serv_id" value="<?php echo $s; ?>">
    <input type="hidden" name="loop" value="<?php echo $j; ?>">
    <input type="submit" name="save" value="save">
    </form>
    <?php
}
if(isset($_POST['save']))
{
foreach($name_field as $v)
{
echo $v;
}
}
    ?>

服务
购买
特价
租
字段数
字段名称: 类型: 文本 文本区 按钮 布顿电台 复选框


使用相同的名称字段可能会产生问题

 <label>Name of the field : </label><input type="text" name="name_field[]">
        <label>Type : </label>
        <select name="type[]">

相同的字段名不应该是问题,因为它是数组格式。可能的解决方案是:

foreach($_POST['name_field'] as $nf) //this is for name field
echo $nf;
foreach($_POST['type'] as $te)
echo $te;

$\u POST
应该大写。@jhonraymos:我为什么要在字段名称中使用$I?@Ravneet'Abid'@Ravneet'Abid'如果您不想这样做,请使用
multiple='multiple'
而不是循环。
foreach($_POST as $p){
echo $p;
}
foreach($_POST['name_field'] as $nf) //this is for name field
echo $nf;
foreach($_POST['type'] as $te)
echo $te;
if(isset($_POST['save'])) {
$values = array_values($_POST);
    foreach($_POST as $v) {
        print_r($v);
    }
}