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

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

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

1

<!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个这样一条一条的,但是如果我把


回复讨论(解决方案)

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

1

<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>

登入後複製
没测试。。

1

<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>

登入後複製
登入後複製
登入後複製

对,用数组。

1

<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>

登入後複製
登入後複製
登入後複製

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

当然是数组了

1

<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;
?>

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

1

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

登入後複製


1

<!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呢,

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

1

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

登入後複製

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

1

$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] )

1

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

登入後複製

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板