PHP怎么获取表单中的多条数据

<formaction="__URL__/inster/"method="post"><inputstyle="width:90%;height:18px;"type="... <form action="__URL__/inster/" method="post">
<input style="width:90%; height:18px;" type="text" class="input-text" name="type" id="type" value=""/>
<input style="width:90%; height:18px;" type="text" class="input-text" name="money" id="money" value=""/>
<textarea style="width:90%; height:11px;"class="" name="bask" cols="32" id="bask" /></textarea>
</form>

中间的数据用JS增加了多条,在PHP中怎么写循环。我用的是TP框架
var cell = document.createElement("td");
//cell.appendChild(document.createTextNode(name));
var inputText = document.createElement("input");
inputText.setAttribute("type", "text");
inputText.setAttribute("name", "type");
inputText.style.border = "1px solid #A7A6AA";
inputText.style.width = "90%";
inputText.style.height = "18px";
//inputText.setAttribute("value", name);
cell.appendChild(inputText);
row.appendChild(cell);

inputText.setAttribute("name", "type"); type是表的字段,可能是这名字重复了
展开
 我来答
宇宙大师之一
推荐于2017-10-09 · TA获得超过3477个赞
知道小有建树答主
回答量:2271
采纳率:52%
帮助的人:716万
展开全部
在生成的表单元素橡局以及之前的元素的名字加上中括号即可实现
比如: name="contents" => name="contents[]",最后提交获取到的数据是一培如带个数组形式的。

代码如下:

<form name="form1" method="post" action="index.php?action=ok">
1.<input type="text" name="contents[]" value="">
2.<input type="text" name="contents[]" value="">
3.<input type="text" name="contents[]" value="">
<input type="submit" value="提交">
</form>
<配芦?php
if($_GET['action'] == 'ok'){
$contents = $_POST['contents'];

print_r($contents);
}
?>
得到的数据是数组形式的,遍历即可。
wuyunbozust
2011-08-30
知道答主
回答量:26
采纳率:0%
帮助的人:14.8万
展开全部
<input type=checkbox name=laiwen[] value=<?php echo $row[3];?>袜陆亮 />
.......

PHP 接受表单:$count=count($_POST["laiwen"]);
for($i = 0; $i<count($_POST["laiwen"]); $i++){
echo $_POST["laiwen"][$i];
}
大告宽概的意思就是这样 你可以试试看,要插入数据库那就直接在for循环中假如悉搏sql语句就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
中国报告大厅
2011-08-28 · TA获得超过247个赞
知道小有建树答主
回答量:147
采纳率:100%
帮助的人:151万
展开全部
别管用的是洞指谨什么框架,表单始终都是post的表单纳基,这是无论如何都改变不了的,你只需要用逗斗$_POST接收就行了,连循环都不用
更多追问追答
追问
不循环不行,只写入一条数据
追答
不是你只写了一条数据,因为你用的是js增加了多条嘛,增的的东西,好歹也是DOM元素吧,既然是DOM元素,又是表单项,后台就没有收不到的道理,只是在原码中你看不到这些东西罢了,你可以先试试,看看结果如何
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8cc6ca0
推荐于2017-09-14 · TA获得超过100个赞
知道答主
回答量:43
采纳率:0%
帮助的人:68.9万
展开全部
对于这个问题,很简单,你是如何解决php接收 checkbox的值的呢?这个也同理。
把表单的 name 属性设置为数组形式的,如 <input style="width:90%; height:18px;" type="text" class="input-text" name="type[]" id="type" value=""/>
<input style="width:90%; height:18px;" type="text" class="input-text" name="type[]" id="type" value=""/>
想几个都行。比如我写的有轿虚两个 name 是 type[] 的表单
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
</head>

<body>
<?php
if(isset($_POST['type'])){
?>
<pre>
<?php
print_r($_POST);
}else{
?>
<form action="" method="post">
<input type="text" name="type[]" id="type" value="" />
<input type="text" name="money" id="money" value="" />
<textarea name="bask" cols="32" id="bask"></textarea>
<input type="text" name="type[]" />
<input type="submit" value="提交" />
</form>
<?php } ?>
</body>
</html>
提交后结果如下,可以看到所有的值都获取了,其中$_POST['闭顷燃type']是个数乎凳组,通过 foreach或for来访问里面的值。 这个方法特别适合 PHP 接收 checkbox 的值。
Array
(
[type] => Array
(
[0] => text1
[1] => text2
)

[money] => 100
[bask] => textarea
)
更多追问追答
追问
foreach($_POST['dform'] as $key=>$value){
$bo=$_POST['type'][$key][$value];
$bo=$_POST['money'][$key][$value];
$bo=$_POST['bask'][$key][$value];
}
我这么写怎么取不到值呢 'dform' 是表面名称
下面是数组的结构,高手麻烦你再指点一下,好了我加点分,谢谢!
追答
'dform'是表面名称,这句话我看不懂呀。
首先图中那个数组有三个元素,索引($key)分别是 type, money, bask, __hash__ ,值($value)分别是一个数组,一个数组,一个数组,一个字符串; 所以图中那个是个二维数组。

foreach($_POST['dform'] as $key=>$value){
//获取 "测试一"
$bo=$_POST['dform'][$key][0];
//或者直接 $bo = $value[0]; 因为 $_POST['dform'][$key] 和 $value 是一样的。
// 获取所有的 type
foreach ($value as $v){
echo $v; // 这里直接输出,你也可以作其它处理,比如把 $v 赋值给其它变量等。
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式