2016-11-10 5 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

시도 내가 배열이

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

그래서 할 foreah 같이 또는 대신 $product[0][1], $product[0][2], $product[0][3] 를 호출 생각

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

아래의 코드를 실행합니다.

+1

그것은 NULL인가? 왜 그랬을까요? –

+1

남자가 전에'$ product = $ _POST [ 'product']'를 실행 했습니까? –

+1

당신은'var_dump'를 의미합니다 – Dherya