我试图通过Checkbox发布3个变量。
如果用户勾选每个产品的复选框,我会尝试发送3个变量:
<input type="checkbox" name="product[]" value="'. $rowAttr["reference"] .'-'. $rowAttr["price"] .'-'. $rowProd["unity"] .'">
变量肯定已设置,因为我已将它们全部打印到用户可以看到他们选择的产品的页面。但是,当他们提交表单时,复选框中的变量设置为1个字符?哪里出错了?
$selected = explode('-', $product);
$reference = $selected[0];
$price = $selected[1];
$unity = $selected[2];
echo '<table class="table table-striped">';
echo '<th>Product Reference</th><th>Price</th><th>Unit</th>';
if(isset($_POST['product'])) {
foreach($_POST['product'] as $product) {
print '<tr>';
print '<td>'. $product['reference'] .'</td>';
print '<td>'. $product['price'] .'</td>';
print '<td>'. $product['unity'] .'</td>';
print '</tr>';
}
}
echo '</table>';
答案 0 :(得分:1)
尝试运行以下代码
$product = $_POST['product'];
echo "<pre>";
var_dump($product);
echo "</pre>";
我认为你的数组看起来像这样
array(3){
[0]=>array(3) {[0]=>"some value",[1]=>"some value",[2]=>"some value",}
[1]=>array(3) {[0]=>"some value",[1]=>"some value",[2]=>"some value",}
[2]=>array(3) {[0]=>"some value",[1]=>"some value",[2]=>"some value",}
}
这样做或者致电$product[0][1], $product[0][2], $product[0][3]
代替。