2012-03-20 15 views
2

データが10行ほど類似したフォームがあります。このフォームは、製品コード、説明、数量を収集します。私は10行をループし、配列を使って情報を収集します。次のページで配列にデータが転送されていない

$code = array(); 
$description = array(); 
$quantity = array(); 

<?php 
for($i=0; $i<10; $i++){ 
    ?> 
    <div class="quote-row"> 
     <div class="quote-id"> 
      <?php echo $i+1; ?> 
     </div> 
     <div class="quote-code"> 
      <input type="text" class="quotecode" name="<?php echo $code[$i]; ?>" /> 
     </div> 
     <div class="quote-description"> 
      <input type="text" class="quotedescription" name="<?php echo $description[$i]; ?>" /> 
     </div> 
     <div class="quote-quantity"> 
      <input type="text" class="quotequantity" name="<?php echo $quantity[$i]; ?>" /> 
     </div> 
    </div> 
    <?php 
} 
?> 

、私はその後、順方向データを運ぶために$_POST['code'], $_POST['description'], $_POST['quantity']を使用し、それを使用しようとします。

私の問題は、データが到着していないようです。

forループを使用すると、フォームを送信してすべてのデータを引き継ぐことができますか?

可能な限り有益ですので、ありがとうございます!

+0

は 'あなたは私がこれをしなかっただけミスを犯したので、私がされて、それは非常に基本的なものであったが、感じていた –

答えて

1

name属性にvalueの配列を指定しています。あなたの名前は空ですので、配列は空です。

はこれを試してみてください:

<?php 
for($i=0; $i<10; $i++){ 
    ?> 
    <div class="quote-row"> 
     <div class="quote-id"> 
      <?php echo $i+1; ?> 
     </div> 
     <div class="quote-code"> 
      <input type="text" class="quotecode" name="code[]" /> 
     </div> 
     <div class="quote-description"> 
      <input type="text" class="quotedescription" name="description[]" /> 
     </div> 
     <div class="quote-quantity"> 
      <input type="text" class="quotequantity" name="quantity[]" /> 
     </div> 
    </div> 
    <?php 
} 
?> 

名[]フォーマットは自動的にデータの配列を作ります。

+0

を送っているかを見るためにあなたの$ _POST配列をvar_dump'名前と値の属性に関する基本情報が含まれています。返信ありがとう! – sark9012

1

期待どおりに動作するようにコードを更新する必要のある箇所がいくつかあります。

入力が名前と値を格納するために間違った属性を使用していることが最も重要です。

例えば、入力要素があなたの入力のそれぞれのために、このような何かを見ている必要があります

<input type="text" class="quotecode" name="code[]" value="<?php echo $code[$i]; ?>" /> 

した後、送信ボタンと周囲のフォームタグを追加するあなたは、次の内の変数を調べるに進むことができますPHPの$ _POSTまたは$ _GET変数を使用してページを開きます。

1

$_POST配列で使用する鍵は、name=""属性に入力するものです。提供されたコードに基づいて、名前はcode,descriptionquantityではありませんが、項目の実際のコード、説明、および数量はすべてです。おそらく、代わりにこれをしたい:

$code = array(); 
$description = array(); 
$quantity = array(); 

<?php 
for($i=0; $i<10; $i++){ 
    ?> 
    <div class="quote-row"> 
     <div class="quote-id"> 
      <?php echo $i+1; ?> 
     </div> 
     <div class="quote-code"> 
      <input type="text" class="quotecode" name="code[]" value="<?php echo $code[$i]; ?>" /> 
     </div> 
     <div class="quote-description"> 
      <input type="text" class="quotedescription" name="description[]" value="<?php echo $description[$i]; ?>" /> 
     </div> 
     <div class="quote-quantity"> 
      <input type="text" class="quotequantity" name="quantity[]" value="<?php echo $quantity[$i]; ?>" /> 
     </div> 
    </div> 
    <?php 
} 
?> 
関連する問題