2016-11-10 3 views
2

私は3つの変数をチェックボックスで投稿しようとしています。 PHPの変数は1文字に設定されていますか?

ユーザーは各製品のチェックボックスをチェックした場合

は、私は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>'; 
+2

上記のコードで '$ product'とは何ですか?とにかく、フォームを介してアイテムの価格のような値を送信しようとしているのはなぜですか?その情報は、ユーザーがそれを操作できるようにしたい場合を除いて、サーバー上に保持する必要があります(ショッピングカートの状況ではほとんどの場合、そうではありません)。 – CBroe

答えて

1

$product = $_POST['product']; 
    echo "<pre>"; 
    var_dump($product); 
    echo "</pre>"; 

以下のコードを実行しようと、私はあなたの配列がそうforeahを行うか、代わりに$product[0][1], $product[0][2], $product[0][3] を呼び出し、この

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",} 
    } 

のように見えると思います。

+1

NULLですか?それはなぜでしょうか? –

+1

あなたは '$ product = $ _POST ['product']'をすべての前に実行しましたか? –

+1

あなたは 'var_dump'を意味する – Dherya

関連する問題