首頁 > 後端開發 > php教程 > 多个表单php怎么接收post过来的数据呢

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

WBOY
發布: 2016-06-23 13:59:57
原創
1194 人瀏覽過

<!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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板