php
  • html
  • ajax
  • 2011-03-31 5 views 0 likes 
    0

    장바구니에서 POST 값으로 선택된 값을 만들려고합니다.선택한 값을 POST 값으로 할당

    코드 조각은 다음과 같습니다

    <div class="extra-option"> 
        <ul> 
        <li><span>Size:</span></li> 
        <? foreach ($product->extra_options as $option): 
         $control_name = 'grouped_products[' . $product->id . '][product_extra_options]['.$option->option_key.']'; 
         $posted_options = post('grouped_products[' . $product->id . '][product_extra_options]', array()); 
         $is_checked = isset($posted_options[$option->option_key]); 
        ?> 
        <input name="<?= $product->id ?>" 
         <?= radio_state($is_checked) ?> 
         id="extra_option_<?= $option->id ?>" 
         value="<?= $option->option_key ?>" 
        type="radio"/> 
        <label for="extra_option_<?= $option->id ?>"><?= h($option->description) ?>:</label> 
        <? endforeach ?> 
        </ul> 
        <div class="clear"></div> 
    </div> 
    

    아약스 처리기 조각은 다음과 같습니다

    function on_addProductGroupToCart($controller) { 
      foreach(post('grouped_products', array()) as $product_id => $product) { 
        $_POST['product_cart_quantity'] = 1; 
        $_POST['product_id'] = $product_id; 
        $_POST['product_options'] = $product['product_options']; 
        $_POST['product_extra_options'] = $product['product_extra_options']; 
        $controller->exec_action_handler('shop:on_addToCart'); 
      } 
    } 
    
    $ POST는 내가 함께 작동하도록해야합니다 알고 니펫을

    $_POST['product_extra_options'] = $product['product_extra_options']; 
    

    하는 경우 그대로 왼쪽으로, 내가받는 오류보다 : "정의되지 않은 색인 : product_extra_options "

    그래서 어떻게 POST 변수를 선택한 값으로 지정할 수 있습니까?

    감사합니다 !!!

    답변

    1

    절대로 $ _POST [] 또는 $ _GET []에 값을 할당하면 안됩니다.이 값만 검색하면됩니다. $ _POST 변수를 채우려면 양식을 통해 데이터를 제출해야합니다.

    0

    POST 변수가 name 속성 인 value 속성 (또는 텍스트 상자 인 경우 해당 텍스트)을 통해 사후 변수를 지정합니다. 예를 들어 양식이 제출 될 때 이제

    <input type="text" name="myInput" /> 
    

    , 당신은 그들이 사용하여 입력 한 텍스트 잡아 :

    체크 박스 (또는 라디오 버튼) 같은 것을 들어
    $_POST['myInput'] 
    

    ,이 값 속성입니다을 그 POST가 변수의 내용 할당 : 이제

    <input type="checkbox" name="myCheckbox" value="thisIsChecked" /> 
    

    을, 당신은이 간단한 조건으로 선택되어 있는지 여부를 볼 것입니다 :

    if (!empty($_POST['myCheckbox'])) { 
        do something; } 
    

    이미 알고있는 것처럼 PHP로 이러한 속성을 동적으로 만들 수 있습니다. 예 :

    <?php foreach ($myArray as $arrayValue) { 
    echo '<input type="checkbox" name="'.$arrayValue.'" value="thisIsChecked" /> 
    } 
    
    관련 문제