채택완료

checkbox 배열 넘기고 받는데 문제가 있습니다.

2018-08-08 (수) 12:59:27 2,608
Copy
<input type="checkbox" id="icon_skeyndor" name="wr_4[]" value="icon_skeyndor" >
<label for="icon_skeyndor"><img src="http://www.cledbel.co.kr/img/icon_skeyndor.png" border="0"> </label>
<input type="checkbox" id="icon_liftingPack" name="wr_4[]" value="icon_liftingPack" >
<label for="icon_liftingPack"><img src="http://www.cledbel.co.kr/img/icon_liftingPack.png" border="0"> </label>
<input type="checkbox" id="icon_cushion" name="wr_4[]" value="icon_cushion" >
<label for="icon_cushion"><img src="http://www.cledbel.co.kr/img/icon_cushion.png" border="0"> </label>
<input type="checkbox" id="icon_ns" name="wr_4[]" value="icon_ns" >
<label for="icon_ns"><img src="http://www.cledbel.co.kr/img/icon_ns.png" border="0"> </label>
<input type="checkbox" id="icon_gs" name="wr_4[]" value="icon_gs" >
<label for="icon_gs"><img src="http://www.cledbel.co.kr/img/icon_gs.png" border="0"> </label>
<input type="checkbox" id="icon_l" name="wr_4[]" value="icon_l" >
<label for="icon_l"><img src="http://www.cledbel.co.kr/img/icon_l.png" border="0"> </label>
<input type="checkbox" id="icon_a" name="wr_4[]" value="icon_a" >
<label for="icon_a"><img src="http://www.cledbel.co.kr/img/icon_a.png" border="0"> </label>
<input type="checkbox" id="icon_h" name="wr_4[]" value="icon_h" >
<label for="icon_h"><img src="http://www.cledbel.co.kr/img/icon_h.png" border="0"> </label>
<input type="checkbox" id="icon_etc" name="wr_4[]" value="icon_etc" >
<label for="icon_etc"><img src="http://www.cledbel.co.kr/img/icon_etc.png" border="0"> </label>

위 checkbox들을 배열로 넘겨서 받는부분에서

Copy
for($i=0; $i<sizeof($_POST['wr_4']); $i++){
        if($i==0){
            $wr_4_arr = $_POST['wr_4'][$i];
        }else{
            $wr_4_arr .= ",".$_POST['wr_4'][$i];
        }
    }
    echo sizeof($_POST['wr_4'])."<br>";

    echo $wr_4_arr;
    exit;

찍어보면 sizeof는 1이 찍히고 $wr_4_arr는 A가 찍히고 있습니다

Array의 A같은데 왜 value들이 안찍히고 저게 찍히는걸까요?

|

답변 4개 / 댓글 3개

채택된 답변
+20 포인트

일단 해당소스로 테스트해본 결과 소스상에 오류는 없습니다.

1. 등록폼에서 소스보기로 html 확인해보세요 

  form 이 정상적으로 열리고 닫혀있는지를요.

  간혹 form이 비정상적으로 되어있을때 이런 현상이 나타나기도 합니다.

2. 등록폼에서 wr_4 값이 다른곳에 씌인게 있는지 확인요망.

게시판에 글을 쓰실때 발생하는 문제가 맞다면?

write_update.php 파일의 8번째 줄쯔음에.

print_r2($_POST); exit;를 한번 해보세요.

var_dump($_POST);

먼저 해보시는게 좋을듯 합니다.

답변에 대한 댓글 2개

$_POST를 찍어보니 ["wr_4"]=> string(5) "Array" 로 Array가 찍히는게 맞습니다.....왜 이럴까요?
혹시나 넘기는 부분이 잘못된건가요?
[code]
<?php
$subj_icon = array('skeyndor', 'liftingPack', 'cushion' , 'ns' , 'gs' , 'l' , 'a' , 'h' , 'etc');
for ($x=0 ; $x < count($subj_icon) ; $x++) {
?>
    <input type="checkbox" id="<?php echo 'icon_'.$subj_icon[$x]; ?>" name="wr_4[]" value="<?php echo 'icon_'.$subj_icon[$x]; ?>" <?php if($write['wr_4'] == "icon_".$subj_icon[$x]) echo " checked"; ?>>
<label for="<?php echo 'icon_'.$subj_icon[$x]; ?>"><img src="<?php echo(G5_IMG_URL.'/icon_'.$subj_icon[$x].'.png'); ?>" border="0"> </label>
<?php
}
?>
[/code]
이렇게 넘기고 있습니다.
Copy
print_r2($_POST['wr_4']);

나 혹은

Copy
var_dump($_POST['wr_4']);

한번 해보세요.

답변에 대한 댓글 1개

마찬가지네요....print_r2는 A, var_dump는 string(1) 이 찍힙니다....

답변을 작성하려면 로그인이 필요합니다.