2012-03-20 47 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

'var_dump'你的$ _POST數組,看看有什麼要發送 – 2012-03-20 13:00:24

回答

1

您在名稱屬性中給出數組的值。你的數組是空的,所以你的名字也是空的。

試試這個:

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

我有一種感覺,這是一件很基本的,已經有一段時間,因爲我這樣做,只是犯了一個錯誤包含名稱和值屬性的基礎知識。謝謝你的回覆! – sark9012 2012-03-20 13:11:38

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