PHP形成多个动态添加的表单

时间:2016-01-18 06:10:12

标签: php forms

我有一个表单,用户可以填写它,然后如果他需要可以通过按下按钮添加更多字段(我用js做)。 现在我想通过php发布结果,但我不知道如何写php方面。我确实试着遵循multi-dimensional array post from form中的指示,但我无法解决它。 我的HTML格式:

<form role="form" method="POST" action="form.php">
<label>Ice Age Gelato</label>
<div class="multi-field-wrapper">
<div class="multi-fields"><div class="multi-field">
<input type="text" name="user[]">
<button type="button"   class="remove-field">Remove</button>
</div></div>
<button type="button" class="add-field">Add field</button>
</div>
<input type="submit" value="Send"> 
</form>

这是form.php中的相对部分,我不知道如何写:

$user = $_POST['users'] = array(
array()
);

user: $user,

哪里错了? 谢谢

3 个答案:

答案 0 :(得分:0)

更改此

if (RequestAge)
{
    if (childrenCount > 0)
    {
        var AgeOptions = ['Select Age', '1','2','3'....'12'];
        return (
                <label>Enter Age of Children'</label>
                <select name='selectAge' id='selectAge'>
                    <option key='Select Age' value='Select Age'>this.props.AgeOptions}                
</option>
                        </select>
                )
    }
}

$user = $_POST['users'] = array(
   array()
);
  1. 您正在使用$user = $_POST['user']; 定义替换帖子值。

  2. 您使用array()作为输入名称并尝试从发布的数据中获取user

  3.   

    注意:通过将输入名称定义为users,您已将值格式更改为user[]。因此,从发布的数据中获取它时,无需采取额外操作使其成为array。您将array作为一个数组,所有输入值都作为项目。例如,如果你有两个输入值&#34; userA&#34;和&#34;用户B&#34;。 $_POST['user']会像这样给你 -

    var_dump($_POST['user'])

    修改

    当您尝试将Array ( [0] => "userA", [1] => "userB", ) 打印为要发送到电子邮件的字符串时,它是一个数组。因此,只需使用逗号连接数组元素即可使其成为字符串。像这样:

    $users

答案 1 :(得分:0)

由于您的输入名称为user[],因此请替换

$user = $_POST['users'] = array(
    array()
);

$user = $_POST['user'];

答案 2 :(得分:0)

如果您将输入字段用作字符串:

<input type="text" name="user[]">

你将得到的结果如下:

echo "<pre>";
print_r($_POST);

Array
(
    [user] => Array
        (
            [0] => test
        )    
    [submit] => Submit Query
)

现在,您如何从这个多维array

中获取用户

如其他答案中所述,您将获得以下值:

$user = $_POST['user'];
print_r($user);

// Result
Array
(
    [0] => test
)

现在,如何从array获取此值,请按照以下步骤操作:

foreach ($user as $value) {
    echo $value. "<br/>"; // test
}