每个 $_POST 的 PHP

1 php foreach post for-loop

对不起,菜鸟问题,我有点卡住了。

我有以下 HTML 表单。可以尽可能多地克隆表单。

    <div class="form">
       <input type="text"  name="user_name_1"  >
       <input type="email" name="user_email_1"  >
    </div>

   <div class="form">
       <input type="text"  name="user_name_2"    >
       <input type="email"  name="user_email_2"  >
   </div>

  <div id="submit-form">
      <input type='hidden' name='user_email'>
      <input type="submit"  value="Submit" />
      <input type="button" class="button" id="cloneForm" value="Clone" />
  </div>
Run Code Online (Sandbox Code Playgroud)

每次单击克隆按钮时,名称字段都会增加。在 PHP 中,如何使用 $_POST 循环遍历字段以为每个表单 div 创建唯一帐户?

示例 PHP

   for ($i=0; $i < 5; $i++) { 
      $name = $_POST['user_name_'+$i];
      $mail = $_POST['user_email_'+$i];

   }
Run Code Online (Sandbox Code Playgroud)

Joe*_*kes 5

使用 html:

name="user_email[]"

现在 $_POST['user_email']将是一个数组。缺点是您无法控制数组的索引。

所以要遍历数组:

foreach ($_POST['user_email'] as $email) { 
   print $email
}
Run Code Online (Sandbox Code Playgroud)

或获取第一项: $_POST['user_email'][0]

您的快速代码修复:

您的代码中的错误不是您的 HTML,而是它的 php: To combine/concat strings together in php use .,而不是+

for ($i=0; $i < 5; $i++) { 
      $name = $_POST['user_name_'.$i];
      $mail = $_POST['user_email_'.$i];
}
Run Code Online (Sandbox Code Playgroud)

以供参考: