채택완료

회원정보 수정시 체크박스 풀림 현상

기본환경설정 여분필드 1번에    A|B|C|D를 기록해두고

register.form.skin.php에

Copy
<?php
            $mb_2 = explode('|',$mb['mb_2']);
?>

...

<?
$class_arr=explode("|",$config['cf_1']);
$r_count = count($class_arr);
for($i=0; $i<$r_count; $i++) {
$checked = in_array($class_arr[$i], $member['mb_2']) ? ' checked' : '';
        echo '<input type="checkbox" id="mb_2" name="mb_2[]" value="'.$class_arr[$i].'"'.$checked.'>'.$class_arr[$i].'&nbsp;&nbsp;';
                    }
 ?>

와 같이 배열을 받아 체크박스를 나타내는데까지는 잘 되었습니다.

가입시와 수정시 값이 DB에 잘 찍히는것도 됩니다.

그런데 수정시 화면에서는 체크박스가 풀려있는데 왜 그럴까요?

|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트
Copy
$mb_2 = explode('|',$mb['mb_2']); <--이게 잘못 되었습니다

수정 $mb_2 = explode('|',$member['mb_2']);<---하지만 이 코드 필요없습니다

 

$checked = in_array($class_arr[$i], $member['mb_2']) ? ' checked' : '';

수정

$member['mb_2'] ==> $mb_2;

<-- 코드를 맞게 수정하더라도 저렇게 검사할 필요가 없습니다

수정

$checked = str_pos($member['mb_2'], $class_arr[$i]) !==false ? 'checked' : '';

답변에 대한 댓글 1개

잘 해결되었습니다. 정말 감사드립니다^^

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