使用方括号处理表格变量[....]

时间:2014-07-02 06:02:32

标签: php forms woocommerce

我正在迁移一些我们处理购物车表单的PHP代码,然后再将其传递给Woocommerce。

其中一个变量名称包含一个括号,我想知道这是否是我无法发布数据的原因?

基本上我们已经更改了产品页面,因为我们需要在后端处理其他数据。操作数据后,我们将其发布到购物车。

例如,原始表单包含此类产品ID

<input type="hidden" name="add-to-cart" value="230" />

我们可以使用此

将其发布到购物车
$_POST['add-to-cart']= "230";
$woocommerce->cart->add_to_cart($productID);

wp_redirect( $woocommerce->cart->get_checkout_url() );

但是我们也希望发布来自woocommerce产品addon插件的数据。最初的fom看起来像这样

<input type="text" class="input-text addon addon-custom" data-price="" name="addon-230-cropped-image[cropped_image]" value=""  />

但是我试图使用下面的两个例子发布这些数据,这两个例子都不起作用。

    $_POST['addon-'.$productID.'-original-image-original_image']=  "data";
    $_POST['addon-'.$productID.'-original-image[original_image]']=  "data";



$woocommerce->cart->add_to_cart($productID);

wp_redirect( $woocommerce->cart->get_checkout_url() );

知道我应该用什么来发布这些数据吗?

1 个答案:

答案 0 :(得分:1)

可能你的变量是一个数组线程,应该被捕获为:

$_POST['addon-'.$productID.'-original-image']['original_image']

PHP Variables。第一个例子解释了类似你的情况。

PHP Variables上第一个示例的代码部分:

<form ....>
 <input name="person[0][first_name]" value="john" />
 <input name="person[0][last_name]" value="smith" />
 ...
 <input name="person[1][first_name]" value="jane" />
 <input name="person[1][last_name]" value="jones" />
</form>


<?php
 var_dump($_POST['person']);
 //will get you something like:
 array (
  0 => array('first_name'=>'john','last_name'=>'smith'),
  1 => array('first_name'=>'jane','last_name'=>'jones'),
 )
?>