1

私のページには、別のページに渡す必要がある多次元配列があり、そのページから配列をコントローラーに送信します。フォームを簡略化するために、配列は常に非表示になります。
少し検索しましたが、私の質問に対する答えが見つかりませんでした。だからこんな感じ

<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'];
 ?>

もちろん、すべてがうまくいくわけではありません。理由はわかりません。ご清聴ありがとうございました。

4

1 に答える 1

2

送信する前に 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>

そしてそれをデコードします:

<?php
$products = json_decode($_POST["products"]);
    foreach($products as $product)
        echo $product['model'];
?>
于 2013-11-12T00:30:36.457 に答える