当前位置:编程学习 > php >>

php怎么或得动态表单的提交信息,我想用post提交的方法把我的表单内容提交到指定页面并接收写入数据库。

比如:做一个信息管理系统,添加信息时默认的一次只可以添加一条。但是我加了一个功能点击“添加”按钮时就添加一条新的写入框,可以无限添加。比如我要同时添加10条信息时提交过去之后只获取得到第十条的信息,前面的信息都没有获取得。请问各位怎么循环获取提交的信息啊,是不是设计有错误呢。望高手指点
追问:这样行不通吧 太麻烦了
答案:你这个添加肯定是通过javascript来做到的,那就在javascript里把表单里的各个元素name给修改下,不然肯定会被覆盖的。如果你懒的搞,那最好的方式就是通过数组来提交了。
比如你的表单是
<pre>
<?php
foreach($_POST['id']  as $key => $value){
 echo '$key -- '.$key.PHP_EOL;
 echo 'id = '.$value.PHP_EOL;
 echo 'name = '.$_POST['name'][$key].PHP_EOL;
 echo 'cate= '.$_POST['cate'][$key].PHP_EOL;
}
?>
<form method=post>
<div class=one>
栏目:<input name=id[]>
名称:<input name=name[]>
栏目:<input name=cate[]>
</div>
<input type='button' value='添加' id='add'>
</form>
<script lang=javascript>
//jquery
$(document).ready(function(){
$('#add').click(function(){
 $('.one').clone(true).insertAfter(this);
});
});
</script>
其他:$id = $_POST["id"];
$name = $_POST["name"]; name="name[]" 用[] 这样就可以获取多个了
然后你获取到的是一个数组
用foreach input 的名字有技巧的在名字后加个[]
比如这样
<input type=text name=colname[]>

在接收数据的时候
$_POST['colname']
就是个数组 给你个思路:你把添加的10条信息,组成一个二维数组,再循环入库 大量提交数据,并不是在表单页面做什么手脚 而是在接收页面表单页: 简单的方式是,把变量全部逐个化
第一个变量命叫 name1
第二个叫       name2
....
在获取页,用程序带上变量命,批量出来 

上一个:php里的count和sizeof
下一个:php 如何生成远程的txt文件

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,