首页 > 后端开发 > php教程 > 多个表单php怎么接收post过来的数据呢

多个表单php怎么接收post过来的数据呢

WBOY
发布: 2016-06-23 13:59:57
原创
1195 人浏览过

<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>多表单提交</title></head><body>	<form action="" method="post">    	<table width="500">        	<tr>            	<th>标题</th>                <th>作者</th>                <th>添加时间</th>            </tr>            <tr>            	<td><input type="text"  name='title'/></td>            	<td><input type="text" name='user' /></td>                <td><input type="text" name='addtime'/></td>                            </tr>            <tr>            	<td><input type="text" name='title' /></td>                <td><input type="text" name='user'/></td>                <td><input type="text" name='addtime'/></td>            </tr>            <tr>            	<td colspan="3" align="center">                	<input type="submit" value="提交" />                    <input type="reset" value="重置" />                </td>            </tr>        </table>        </form>	<?php		$title=$_POST['title'];		$user=$_POST['user'];		$addtime=time();		echo '<hr>';		echo $title;		echo '<br>'.$user;		echo '<br>'.$addtime;	?></body></html>
登录后复制


我的代码是这样的,一个表单,里面需要添加多于两个,有可能是5个,10个,20个这样一条一条的,但是如果我把


回复讨论(解决方案)

应该是用可以用数组来实现,

                  <tr>                <td><input type="text"  name='title[0]'/></td>                <td><input type="text" name='user[0]' /></td>                <td><input type="text" name='addtime[0]'/></td>                            </tr>           <tr>                <td><input type="text"  name='title[1]'/></td>                <td><input type="text" name='user[1]' /></td>                <td><input type="text" name='addtime[1]'/></td>                            </tr>            <tr>                <td><input type="text" name='title[2]' /></td>                <td><input type="text" name='user[2]'/></td>                <td><input type="text" name='addtime[2]'/></td>            </tr>
登录后复制
没测试。。

<tr>                <td><input type="text"  name='title[]'/></td>                <td><input type="text" name='user[]' /></td>                <td><input type="text" name='addtime[]'/></td>                            </tr>            <tr>                <td><input type="text" name='title[]' /></td>                <td><input type="text" name='user[]'/></td>                <td><input type="text" name='addtime[]'/></td>            </tr>
登录后复制
登录后复制
登录后复制

对,用数组。

<tr>                <td><input type="text"  name='title[]'/></td>                <td><input type="text" name='user[]' /></td>                <td><input type="text" name='addtime[]'/></td>                            </tr>            <tr>                <td><input type="text" name='title[]' /></td>                <td><input type="text" name='user[]'/></td>                <td><input type="text" name='addtime[]'/></td>            </tr>
登录后复制
登录后复制
登录后复制

嗯嗯,支持魅力,之前用过一次,就是这样实现的。

当然是数组了

<tr>                <td><input type="text"  name='title[]'/></td>                <td><input type="text" name='user[]' /></td>                <td><input type="text" name='addtime[]'/></td>                            </tr>            <tr>                <td><input type="text" name='title[]' /></td>                <td><input type="text" name='user[]'/></td>                <td><input type="text" name='addtime[]'/></td>            </tr>
登录后复制
登录后复制
登录后复制



谢谢,但是这个地方的PHP怎么写的呢,我自己写的提交以后只有一个数组
$title=$_POST['title'];
$user=$_POST['user'];
$note=$_POST['note'];

echo '
';
print_r($title);
echo '
'.print_r($user);
echo '

'.$note;
?>

===============
怎么样修改成类似这样的数组呢

	$st=array(			array('小李','19','语文'),			array('王强','20','数学'),			array('张王磊','29','演员'),			array('胡科林','27','钢琴老师')				);
登录后复制


<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>多表单提交</title></head><body>	<form action="" method="post">    	<table width="500">        	<tr>            	<th>标题</th>                <th>作者</th>                <th>说明</th>            </tr>            <tr>            	<td><input type="text"  name='title[]'/></td>            	<td><input type="text" name='user[]' /></td>                <td><input type="text" name='note[]'/></td>                            </tr>            <tr>            	<td><input type="text" name='title[]' /></td>                <td><input type="text" name='user[]'/></td>                <td><input type="text" name='note[]'/></td>            </tr>            <tr>            	<td colspan="3" align="center">                	<input type="submit" value="提交" />                    <input type="reset" value="重置" />                </td>            </tr>        </table>        </form>	<?php		$title=$_POST['title'];		$user=$_POST['user'];		$note=$_POST['note'];				echo '<hr>';		echo '<pre class="brush:php;toolbar:false">';		print_r($title);		echo '<br>'.print_r($user);		echo '<br>'.print_r($note);		echo '
登录后复制
'; ?>

我的代码是这样的,但是输出来以后为什么会多个1呢,

还有我这里提交以后默认是三个一维数组,怎么样做成一个二维数组呢,是否需要在提交表单那里设置呢。
我要的二维数组的样子大概是这样

$st=array(        array('第一个标题','admin','13-05-15'),        array('第二个标题','zhansan','zhagnsan'),        array('最新消息','lisa','note'),        array('马航','马来西亚','其他说明')         );
登录后复制

对页面提交过来的数组进行整理下

$out = array();foreach ($_POST as $key => $value) {	foreach ($value as $k => $v) {		$out[$k][] = $value[$k]	}}
登录后复制

不是多一个,而是多两个!第二的 Array 前面不是还有个 1 吗?

bool print_r ( mixed expression [, bool return] )

foreach($_POST['title'] as $k=>$v){    $ar[]=array($v,$_POST['user'][$k],$_POST['note'][$k]);}print_r($ar);
登录后复制

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板