php将循环数据保存到数组中

bag*_*ilk 0 php foreach post for-loop

我是php的新手.我有一个jQuery脚本,将生成新元素.用户单击"提交"并转到page2.php.这就是我需要一个php循环来确定用户创建了多少文本输入的地方.

page1.php中

<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.min.js'>   </script>
<script type='text/javascript'>
$(document).ready(function() {
    $('#btn').click(function() {
        var x = parseInt($('#hidtxt').val()) + (1*1);
        var z = "<input type='text' id='txt" + x + "' name='txt" + x + "' size='10'/>";
        $('#main').append(z);
        $('#hidtxt').val(x);
    });
});
</script>
</head>
<body>
  <form name='myform' action='page2.php' method='post'/>
    <input type='hidden' value='1' name='hidtxt' id='hidtxt'/>
    <div id='main'>
      <input type='text' id='txt1' name='txt1' size='10'/>
    </div>
    <input type='button' id='btn' name='btn' value='Add Text Box'/>
    <input type='submit' value='Submit' id='subBtn' name='subBtn'/>
  </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后是page2.php

<?php
    //CREATE LOOP TO POST ALL TEXT INPUTS
    $val1 = $_POST['txt1'];
    $val2 = $_POST['txt2'];
    ....
    ....
    $valx = $_POST['txtx'];


?>
Run Code Online (Sandbox Code Playgroud)

Gau*_*164 5

将文本框名称指定为数组

<input type='text' id='txt1' name='txt[]' size='10'/>
Run Code Online (Sandbox Code Playgroud)

然后就好了

print_r($_POST['txt']);
Run Code Online (Sandbox Code Playgroud)

然后你将得到文本框值的数组.你可以使用循环

for($i=0;$i<$cnt;$i++) {        
    $val[$i] = $_POST['txt'][$i];
}
Run Code Online (Sandbox Code Playgroud)

在这里,你需要得到你为循环给出的总输入字段的数量.$cnt保持一个带有初始值的隐藏字段,1并且每当你点击Add text box按钮时你需要递增它,并且在提交表单后你可以获得$cnt值隐藏字段中的输入字段数.