ホームページ  >  記事  >  バックエンド開発  >  PHP で複数のフォームから投稿されたデータを受け取るにはどうすればよいですか?

PHP で複数のフォームから投稿されたデータを受け取るにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-23 13:59:571166ブラウズ

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


私のコードは次のようなものです、フォームは2つ以上、おそらく5、10、20を1つずつ追加する必要がありますが、1142f3ccf644d08b3e0103829b490bd8'
echo '0c6dc11e160d3b678d68754cc175188a'.print_r($user);
echo 'e388a4556c0f65e1904146cc1a846bee'.$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 が複数あるのはなぜですか?


また、送信すると、デフォルトは 3 つの 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]	}}

あと1つではなく、あと2つ! 2番目の配列の前に1はありませんか?

bool print_r (混合式 [, bool return] )




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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。