Php 通过POST发送现有多维数组
在我的页面上,我有一个多维数组,我需要将它传递到另一个页面,然后从该页面将数组发送到控制器。数组将始终隐藏以简化表单。Php 通过POST发送现有多维数组,php,arrays,post,multidimensional-array,Php,Arrays,Post,Multidimensional Array,在我的页面上,我有一个多维数组,我需要将它传递到另一个页面,然后从该页面将数组发送到控制器。数组将始终隐藏以简化表单。我搜索了一些,但没有找到问题的答案。 看起来是这样的 <form action="index.php?route=common/fittingForm" method="post"> <?php foreach($products as $product) { ?> <input type="hidden" name="pro
我搜索了一些,但没有找到问题的答案。 看起来是这样的
<form action="index.php?route=common/fittingForm" method="post">
<?php foreach($products as $product) { ?>
<input type="hidden" name="products[]" value="<?php echo $product; ?>" >
<?php } ?>
<input type="submit" value="Buy" class="buy_button">
</form>
<?php $products = $_POST["products"]; ?>
<?php
foreach($products as $product)
echo $product['model'];
?>
当然,一切都不起作用。我不知道为什么。
感谢您的关注。在发送之前将其编码为JSON:
<form action="index.php?route=common/fittingForm" method="post">
<input type="hidden" name="products" value="<?php echo json_encode($products);?>">
<input type="submit" value="Buy" class="buy_button">
</form>
另一页对我来说意味着一个单独的请求。您的情况是否都在同一个请求中?好吧,我将数组传递到第一页(1个请求),从第一页开始,我将数组发送给控制器。所以有两个要求。很抱歉,如果我不理解你的问题,我的英语也不是完美无缺的。如果是2个或更多请求,即重定向,那么你必须将数组存储在某个位置,如$\u SESSION
、db或文件中。我在按下submit按钮后出错“警告:为foreach()提供的参数无效”在第3行的C:\apache\localhost\www\webshop.kg\catalog\view\theme\default\template\common\fittingForm.tpl中”。你知道怎么解决这个问题吗?哦,对不起,我忘了通知你之前解码它。。。我已经更新了我的答案
<?php
$products = json_decode($_POST["products"]);
foreach($products as $product)
echo $product['model'];
?>