我在处理传递数组的表单时遇到了困难。我在一个名为$ product的数组中包含了5个变量(" $ a,$ b,$ c,$ d,$ e"),然后我将它传递给另一个框架使用形式以及需要的输入用户输入值。 所以会有一个数组和一个输入同时传递。我应该使用" post"或"得到"?我似乎应该使用" post"传递数组,但用户输入只能通过" get"对?以下是我的代码(表单在表格中):
print "<td><form class=button action='bottom_right.php' method='post' target='bottom_right'>
<input type='text' name='quantity'>
<input type='hidden' name='product' value='<?php echo($product) ?>'>
<button type='submit' class='btn btn-primary mb-2'>Add</button>
</form></td>";
此外,我如何从另一帧中检索内容?应该是下面这样的吗?我如何回应数组中的单个变量?
<?php
session_start();
$quantity=$_POST['quantity'];
$product=$_POST['product'];
echo $quantity;
echo $product['a'];
echo $b;
?>
期待您的回复! 干杯!
答案 0 :(得分:0)
可能就像使用explode / implode来传输数组一样简单。
<input type='hidden' name='product' value='<?= implode(',', $product) ?>' />
然后在PHP中,您将在product
键下寻找一串专注值。
<?php
$quantity = (isset($_POST['quantity'])) $_POST['quantity'] ? : null;
$product = (isset($_POST['product'])) $_POST['product'] ? : '';
$productArray = explode(',', $product);
var_dump($productArray);
您可以使用POST或GET。您可以将数组转换为字符串,使用分隔符来标记部件,或者可以使用多个隐藏字段,一个用于数组中的每个值。
<!-- would probably POST if going this route...? -->
<input type='hidden' name='product[a]' value='<?= $product['a'] ?>' />
<input type='hidden' name='product[b]' value='<?= $product['b'] ?>' />
使用它并使用var_dump($_POST);
来了解这些方法如何修改您收到的内容。