회원 질문 페이지 만들기
본문
안녕하세요..
회원을 대상으로 설문 또는 질문을 받는 페이지를 만들고 있습니다. db는 g5_member 여분필드를 활용해서 하고 있는데...
<form> tag를 써서 체크박스 등 내용을 입력하는 내용입니다. 코딩은 아래와 같습니다.
-- input.php --
<form action="process.php" method="post" >
<input type="checkbox" name="mb_12[]" value=" 1 <?php echo $mb_12_tmp[0] ?>"> 오이 allergy 반응이 있거나 , 취식의 어려움이 있다면 당근으로 대체됩니다. <br />
<input type="checkbox" name="mb_12[]" value="2 <?php echo $mb_12_tmp[1] ?>"> 당근 allergy 반응이 있거나 , 취식의 어려움이 있다면 오이로 대체됩니다. <br />
<input type="submit" value="<?php echo $w==''?'작성완료':'정보수정'; ?>" id="btn_submit" class="btn_submit" accesskey="s">
<a href="<?php echo G5_URL ?>" class="btn_cancel">취소</a>
</form>
-- process.php --
<?php
$mb_12 = "$mb_1201 $mb_1202 ;
$sql12 = " update g5_member set mb_12='$mb_12' where mb_id='$mb_id'";
sql_query($sql12);
foreach($_POST['mb_12'] as $mb_12_tmp){
echo "<li>$mb_12_tmp</li>";
}
?>
</ul> <br />
작성완료를 누르면 process.php페이지에 체크한 내용이 출력되지만 db에 저장이 되지 않습니다.
무엇이 잘못된지 모르겠습니다. 참고로 mb_12는 g5_member 필드에 있는 컬럼 입니다.
머리 아프네요..이것 때문에 며칠을 머리를 싸맸는지... 해답 있을까요?? 고수님들 주옥같은 답변 기다리겠습니다.
답변 2
일단 $mb_id 가 넘어왔는지 확인해보시고요
그다음에 $mb_12 = "$mb_1201 $mb_1202 ; 이부분은
아마도 $mb_12 = "$mb_12[0] + $mb_12[1]"; 이거나 $mb_12 = "$mb_12[0] * $mb_12[1]"; 이렇게 사용하시면될거 같구요.
혹시 더 궁금한점 있으시면 쪽지주세요.
작성하신 내용은 당연히 처리가 안되죠.
전달되어야 할 가장 중요한 값인 $mb_id 가 전달이 되어야 할텐데..
작성하신 input.php 의 <form> 내 hidden 입력필드등으로 전달되지 않았으니 어느 mb_id 를 업데이트할것인지가 알수없기 때문에
님의 $sql12 는 mb_id 필드가 공백인 값을 찾아 업데이트하라는 쿼리이기 때문에..
그리고 조금 더 짚어드리자면.. mb_12 라는 여분필드를 phpmyadmin 등에서 추가하셨는지도 모르겠군요.
$mb_12 = "$mb_1201 $mb_1202 ;
위 코드도 이상하구요.