将动态创建的输入中的值存储到PHP变量中


Store values from dynamically created inputs to a PHP variable

我有一个页面,允许用户使用JavaScript向表单添加和删除文本字段。

文本字段命名为field1field2field3等,取决于用户添加了多少个字段

我试图将文本字段中的所有值存储到一个Php变量中;

我知道我需要先将它们存储到一个数组中,然后使用implode(),但我如何指定我的Php代码中有多少输入?

通常最好的方法是使用数组命名的输入,如PHP文档中的以下示例所示:

<form action="" method="post">
    Nombre:  <input type="text" name="personal[nombre]" /><br />
    Email:   <input type="text" name="personal[email]" /><br />
    Cerveza: <br />
    <select multiple name="cerveza[]">
        <option value="warthog">Warthog</option>
        <option value="guinness">Guinness</option>
        <option value="stuttgarter">Stuttgarter Schwabenbräu</option>
    </select><br />
    <input type="submit" value="submit me!" />
</form>

您可以为每个用户添加的字段使用相同的名称,如:

<input type="text" id="field1" name="fields[]" />
<input type="text" id="field2" name="fields[]" />

然后根据需要使用内爆:

$imploded_fields = implode(', ', $_POST['fields']);

有许多选项:

  1. 你可以使用cookie。使用PHP $_COOKIE获取它。寻求帮助
  2. 您可以使用html hidden input fields-<input type="hidden" value="">,并可以在其中存储实际数量的字段

但是,Diego Agulló是更好的一个

如果on选项已经打开(field1),您可以创建一个隐藏字段并用1初始化它。并在增加字段值的同时增加计数器的值,反之亦然。提交时,您会发现添加的字段总数。

感谢