2011-10-31 4 views
1

의 체크 박스를 인쇄하십시오. $_POST 배열에 두 개의 체크 박스가 있는데 체크되어 있는지 확인하고 싶습니다. 그런 다음 점검 된 내용을 인쇄하고 싶습니다. 이 일에 대해 어떻게 생각해?

foreach ($_POST as $key=>$val) 
{ 
    echo $key ." :: ".$val."<br/>"; 
} 
+1

print_r ($ _ POST); 너 뭐가 보이니? –

답변

3

일반적으로, 우리는 체크 박스와 플레이 방법이다,이 같은 배열 이름을 사용하여 : 브라우저가 늘 비어 (체크) 체크 박스를 제출하기 때문에

+0

매우 흥미 롭습니다. 이 '트릭'을 인식하지 못했고 매우 유용하게 보입니다. – xbonez

0

만, 어쨌든 checked 체크 박스를 인쇄 할 수 있습니다

을 누군가가 사용하여 우리의 체크 박스를 선택하면
<input type="checkbox" name="check[]" value="check 1" /> check<br /> 
<input type="checkbox" name="check[]" value="check 2" /> check<br /> 
<input type="checkbox" name="check[]" value="check 3" /> check<br /> 

이 방법은, 우리가 쉽게 확인할 수 있습니다

if(isset($_POST['check'])) 
{ 
    if(count($_POST['check']) > 0) 
    { 
     echo "checked value are: " . implode(", ", $_POST['check']); 
    } 
} 

이것은 주로 브라우저가 체크하지 않은 체크 박스 값을 보내지 않기 때문입니다.

0

@Headacomputer의 답변에 약간의 확장이 있습니다.

& 개의 라디오가 $_POST 또는 $_GET에 입력됩니다.

그러나 확인란의 배열 (또는 다른 유형의 입력)을 사용할 수 있으므로 입력 이름에 대괄호를 사용하는 경우 값이 배열인지 확인해야합니다.

foreach ($_POST as $input_name => $value_s) 
{ 
    if (is_array($value_s)) 
    { 
     foreach ($value_s as $index => $value) 
     { 
      echo "$input_name[$index]::$value<br />"; 
      // note that this literally prints the input_name, brackets, and index) 
      // using braces will just print the value 
     } 
    } 
    else 
    { 
      echo "$input_name::$value_s<br />"; 
    } 
}