向文件 php 表单提交添加多个输入

Adding multiple inputs to file php form submit

本文关键字:输入 添加 表单提交 文件 php      更新时间:2023-09-26

>我有一个看起来像这样的表单:

<label for="fullpath"><span class="required">*Full Path of folder to change access:</span></label>
            <input name="fullpath" id="it10" type="text" size="50" maxlength="50" />
            <br />
            <small>Example: g:'A'Folder or j:'Your'Folder</small><br />
            <div class="bgdiff">
              <label for="userpermissiongroup">User Permission Group to be changed:</label>
              <input name="userpermissiongroup" type="text" id="it11" size="50" maxlength="50" />
              <small>If Known...</small></div>
            <br />
            <label for="addreadaccess">Additional users requiring read access:</label>
            <input name="addreadaccess" type="text" id="it12" size="15" maxlength="15" />
            <br />
            <small>AD Username</small><br />
            <div class="bgdiff">
              <label for="addauthoraccess">Additional users requiring author access:</label>
              <input name="addauthoraccess" type="text" id="it13" size="12" maxlength="12" />
              <br />
              <small>AD Username</small></div>
            <br />
            <label for="removeaccess">Users to be removed from access:</label>
            <input name="removeaccess" type="text" id="it14" size="12" maxlength="12" />
            <br />
            <small>AD Username</small><br />
            <div class="bgdiff">
              <label for="supervisor"><span class="required">*Data Steward, Program Manager, Project Lead, or Supervisor who can authorize access changes:</span></label>
              <input name="supervisor" type="text" id="it15" size="30" maxlength="30" />
              <br />
              <small>AD Username</small></div>
            <br/>
            <label for="phoneapprover"><span class="required">*Phone number of approving official: </span></label>
            <input name="phoneapprover" type="text" id="it16" size="30" maxlength="30" />
            <br />
            <small>999-999-9999</small><br />
          </fieldset>
        </div>

我想让用户选择在提交之前将所有这些信息添加到此表单中超过 1 倍。(说最大 10 倍)我脑子里想了几个想法。1 是使用 Javascript 创建新字段,然后以某种方式使用我的 php 脚本解析它们。2 是说 10 个代码截图就像上面的代码中的表单一样,并隐藏它们,直到用户单击添加另一个。

每个输入都需要是唯一的,因为我提交此信息时认为是一个简单的 $_REQUEST php 脚本。我了解如何使用 1 个输入和每个循环的 a 来做到这一点,但不确定如何使其适用于如此大量的输入、标签等......

<?php
foreach($_POST['newdata'] as $value) {
echo "$value <br />";
}
?>
有人对解决这个问题

的最佳方法有一些建议吗?我不确定通过 JS 添加他的表单是最好的主意,所以只是显示来自隐藏div 的新信息似乎更快、更容易......

如果你在表单字段名称后附加[],PHP 会获取这些字段并将它们转换为数组,例如

<input type="text" name="field[]" value="first" />
<input type="text" name="field[]" value="second" />
<input type="text" name="field[]" value="third" />

将产生以下 $_POST 结构:

$_POST = array(
    'field' => array(
         0 => 'first',
         1 => 'second',
         2 => 'third',
    )
);

另一种方法是在每个字段名称后附加递增的数字,因为您可以为每个新块复制现有字段集。这在块之间提供了很好的分离,并允许您保证相关字段具有相同的数字标记,但它确实使处理复杂化。

这并不难:主要思想是每次迭代都使用 ID,因此您的输入将具有唯一的名称,并且可以毫无问题地进行处理

for ($i=0;$i<10;$i++){
   echo "<input name='removeaccess' type='text' id='it14_{$i}' size='12' maxlength='12' />";
}

因此,您将当前输入集的代码与标签一起添加到输入名称 ID,这些 ID 是在每次循环迭代中形成的。小心'"