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是表的字段,可能是这名字重复了 展开
<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是表的字段,可能是这名字重复了 展开
4个回答
展开全部
在生成的表单元素以及之前的元素的名字加上中括号即可实现
比如: 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);
}
?>
得到的数据是数组形式的,遍历即可。
比如: 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);
}
?>
得到的数据是数组形式的,遍历即可。
展开全部
<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语句就可以了
.......
PHP 接受表单:$count=count($_POST["laiwen"]);
for($i = 0; $i<count($_POST["laiwen"]); $i++){
echo $_POST["laiwen"][$i];
}
大概的意思就是这样 你可以试试看,要插入数据库那就直接在for循环中假如sql语句就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
别管用的是什么框架,表单始终都是post的表单,这是无论如何都改变不了的,你只需要用$_POST接收就行了,连循环都不用
更多追问追答
追问
不循环不行,只写入一条数据
追答
不是你只写了一条数据,因为你用的是js增加了多条嘛,增的的东西,好歹也是DOM元素吧,既然是DOM元素,又是表单项,后台就没有收不到的道理,只是在原码中你看不到这些东西罢了,你可以先试试,看看结果如何
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于这个问题,很简单,你是如何解决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
)
把表单的 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 赋值给其它变量等。
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询