2012-04-04 14 views
0

私はこのコードPHPで値を取得するには?

HTML

<ul style="list-style:none;" id="listing"> 
<li> 
<table id="pedido" action="post.php"> 
<form method="POST" > 
<tr> 
<td> 
<select name="product[]"> 
    <option value="0">Perfil:</option> 
    <option value="68mm 5 Cámaras AD rendszer egyenes szárny, ütköző tömítéssel">68mm 5 Cámaras 7001AD, con dos juntas</option> 
    <option value="68mm 7 K AD rendszer íves szárny, ütköző tömítéssel">68mm 7 Cámaras 7001AD con dos juntas</option> 
    <option value="80 mm 6 K Tok + 7 K íves szárny AD rendszer, ütköző tömítéssel">80 mm Marco 6 Cámaras + Hoja de 7 Cámaras 7001AD con dos juntas</option> 
    <option value="68mm 7 K MD rendszer ütköző és középtömítéses, íves szárny">68mm 7 Cámaras 7001MD con tres juntas</option> 
    <option value="80 mm 8 K MD rendszer ütköző és középtömítéses, íves szárny">80 mm 8 Cámaras 7001MD con tres juntas</option> 
</select> 
</td> 
</tr> 
<tr> 
<td> 
<input name="h[]" value="Horizontal" class="comment" /> x 
<input name="v[]" value="Vertical" class="comment" /> 
uds: 
<input name="uds[]" style="width:60px;"/> 
</td> 
</tr> 
<tr> 
<td> 
<select> 
<option>Color</option> 
</select> 

Persiana <input type="checkbox" name="persiana[]" id="persiana"/> <div id="persianaver" style="float:right; display:none">Con motor<input type="radio" name="f[]" value="auto" /> Manual<input type="radio" name="f[]" value="manual" /></div> 
</td> 
<tr></tr> 
<tr> 
<td style="width:435px;"> 
<div id="persiaops" style="float:right; display:none">IMPORTANTE: En caso de haber seleccionado la opción persiana usted tiene que especificar el tamaño de la tapa del cajón (Lugar donde se sitúa la caja de persiana) Puede especificarlo en el campo comentario <a id="pregunta" href="images/demo.jpg"><img alt="pregunta" src="images/ask.jpg" height="15" width="15"/></a> </div> 
</td> 
</tr> 
<tr> 
<td> 
<textarea name="comment[]" rows="5" cols="59" class="comment">Comentario</textarea> 
</td> 
</tr> 
</form> 
</table> 
</li> 
</ul> 

を持っていると私はテーブルを何度もクローンを作成して、情報を埋めるためにしたいので、すべての要素が[]の名前と呼ばれています。しかし、私の質問です:どのように私はそれらの価値をPHPで得ることができますか?私は$ _POST ['hello']を意味します。投稿されても、$ _POST ['hello []']の場合、helloフィールドのコンテンツを取得できますか?配列オブジェクトとして格納されますが、name = "hello"のフィールドがすべて正しく入力されているかどうかを確認するにはどうすればよいですか?または、値を配列として格納し、後で配列に含まれるすべての要素が正しいかどうかをpost.phpチェックで確認する必要がありますか?簡単な方法はありますか?

感謝;)

答えて

0

あなたは配列としてそれらを得ることができます。

echo $_POST['product'][0]; 

ちょうど書くあなた$_POST配列構造を参照するには、次の時にPHPのパース彼らは配列として解釈されます

print_r($_POST); 
1

要求データだから、:

<input name="v[]" value="Vertical" class="comment" /> 
<input name="v[]" value="Horizontal" class="comment" /> 

$_POST['v']として、PHPで利用できるようになりますと、次のようになります。

Array 
(
    [0] => Vertical 
    [1] => Horizontal 
) 

それはPHP暗黙の配列のプッシュと同じ基本構文は次のとおりです。名前の

$v[] = 'Vertical'; 
$v[] = 'Horizontal'; 
2

フィールドのような製品[]は、PHPで$ _POST ["product"] [0](最初のもの)でアクセスできます。

することもでき、この配列をループ:

foreach($_POST["product"] as $key => $product) { 
    echo $product; 
} 

は、あなたがあなたの入力フィールドのクローンを作成するたびにカウントアップされ、実行時の変数を追加する必要があり、すべてのフィールドが満たされているかどうかを確認するには、次の

<select name="product[0]">... 
... 
<select name="product[1]">... 
... 

次にあなたが製品を通じて再びループすることができます:

foreach($_POST["product"] as $key => $product) { 
    //check whether h is also filled: 
    if($_POST["h"][$key] != "") { 
     ... 
    } 
} 
関連する問題