2013-06-21 3 views
1

foreach 루프가있는 스크립트를 사용하고 있으며 Magento의 관리 영역에 설정되어있는 내용에 따라 적절한 수의 확인란이 표시됩니다.PHP 메일에서 체크 박스의 값 하나만 전송됩니다.

내가 직면 한 문제는 여러 개의 확인란이있을 수 있지만 최상위에서 가장 가까운 것으로 선택된 확인란 만 양식과 함께 전송되는 값입니다. 나는 보내도록 선택된 모든 체크 박스 값이 필요합니다.

이 내가 체크 박스를 얻기 위해 내 메일 스크립트가 무엇인가는 $check = $_POST['check'];

값 그리고 이것은 그 아래의 코드는 체크 박스의 오른쪽 양을 표시하도록 foreach 문을 사용합니다.

<?php 
    $SKU = "1282670_01"; 
    $product = Mage::getModel('catalog/product')->loadByAttribute('sku',$SKU); 
    if($product->getTypeId() == "configurable"){ 
     $childs = $product->getTypeInstance()->getUsedProducts(); 
    } 
    $i = 0; 
    foreach ($childs as $child) { ?> 
    <?php $colour_name = $child->getAttributeText('real_colour'); ?> 
    <li class="notranslate focused" id="fo143li2"> 
    <fieldset> 
    <div> 
    <span> 

    <img width="35" height="35" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product' . $child->getSwatch() ?>"> 
    <input type="checkbox" style="margin-top:-10px;" onchange="handleInput(this);" tabindex="5" value="<?php echo $colour_name ?>" class="field checkbox" name="check" id="<?php echo $colour_name ?>"> 
    <label for="<?php echo $colour_name ?>" class="choice"></label> 
+0

멋진, 당신은 하나의 질문을 삭제합니다. 재 게시 된 질문에서 거의 내 대답을 올바르게 사용하십시오. 이제 다른 사람들이 내가 한 것과 똑같은 말을해야합니다. 너는 재밌다. – RST

답변

2

귀하의 모든 확인란은 그래서 하나가 당신의 $_POST 배열에 나타납니다, 같은 이름을 가지고있다. 고유 한 이름을 사용하도록 코드를 변경하거나 배열 형식을 사용합니다. 즉, name="check[]"

+0

이름을'check []'으로 변경하고'$ check = array();를 추가했습니다. 메일로 보내지 만 전자 메일에서는'Array' 만 있고 데이터가 없습니다. – KMW

0

라디오 버튼의 경우에는 "켜기"중 하나만 입력 할 수 있습니다. 그러나 이름을 check[]으로 변경하여 해당 키/값 쌍을 배열로 바꿀 수 있습니다. 각 check[] 배열로 결합하고 name="check[<?php echo $colour_name ?>]" value="true"처럼 name => ['value1', 'value2', 'value3']

마찬가지로, 대신 배열의 마지막에 밀어의 키를 사용할 수 있습니다로 제출 PHP는 array('red' => 'true', 'blue' => 'true')로 표시 할 것입니다.