i have a loop (Smarty) in my form to output data. I don't want to generate a unique field name for each column so i am trying to use the [] syntax.
I look at the POST data & i have an array for each field, but i can't seem to access it??
i try print_r($_POST['<fieldname>']) and i get Array1, even tho print_r($_Post) shows <fieldname> as an Array
Am i missing something basic?
mark
PHP 5.1.2
handling data[] from form
Moderator: General Moderators
- Chris Corbyn
- Breakbeat Nuttzer
- Posts: 13098
- Joined: Wed Mar 24, 2004 7:57 am
- Location: Melbourne, Australia
Code: Select all
$n = count($_POST['FeildName']);
for($i=0;$i<$n;$i++) {
echo "FeildName[" . $i . "] = " . $_POST['FeildName'][$i] . "<br/>";
}here is the form:
{foreach from=$nonR00list key=key item=row}
<tr>
<td align="center">{$row.ProductName}
<input type="hidden" name="ProductName[]" value="{$row.ProductName}">
<input type="hidden" name="InventoryAudit_ProductID[]" value="{$row.InventoryAudit_ProductID}">
<input type="hidden" name="ProductID[]" value="{$row.ProductID}">
<input type="hidden" name="isAdjusted[]" value="{$row.isAdjusted}">
</td>
<td align="right">{$row.WILMAQty}
<input type="hidden" name="WILMAQty[]" value="{$row.WILMAQty}">
</td>
<td align="right">
{if $row.adjustChk ne "CHECKED"}
<input name="Qty[]" type="text" maxlength=3 size="3" value="{$row.Qty}">
{else}
{$row.Qty}<input type="hidden" name="Qty[]" value="{$row.Qty}">
{/if}
</td>
<td><input type="checkbox" name="adjustChkDisable[]" value="CHECKED" {$row.adjustChk} {$row.adjustChkDisable}></td>
</tr>
{/foreach}
here is my code:
die(print_r($_POST)); > OK result - says ProductName is an array
die(print_r($_POST["ProductName"])); > produces "Array1"
{foreach from=$nonR00list key=key item=row}
<tr>
<td align="center">{$row.ProductName}
<input type="hidden" name="ProductName[]" value="{$row.ProductName}">
<input type="hidden" name="InventoryAudit_ProductID[]" value="{$row.InventoryAudit_ProductID}">
<input type="hidden" name="ProductID[]" value="{$row.ProductID}">
<input type="hidden" name="isAdjusted[]" value="{$row.isAdjusted}">
</td>
<td align="right">{$row.WILMAQty}
<input type="hidden" name="WILMAQty[]" value="{$row.WILMAQty}">
</td>
<td align="right">
{if $row.adjustChk ne "CHECKED"}
<input name="Qty[]" type="text" maxlength=3 size="3" value="{$row.Qty}">
{else}
{$row.Qty}<input type="hidden" name="Qty[]" value="{$row.Qty}">
{/if}
</td>
<td><input type="checkbox" name="adjustChkDisable[]" value="CHECKED" {$row.adjustChk} {$row.adjustChkDisable}></td>
</tr>
{/foreach}
here is my code:
die(print_r($_POST)); > OK result - says ProductName is an array
die(print_r($_POST["ProductName"])); > produces "Array1"