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 );
|
登入後複製