회원가입시 mb필드 쪼개서 작업했는데 DB 입력이안됩니다 ㅠㅠ
본문
회원분들께 도움을 요청합니다.
회원여분필드를 쪼개서 아래처럼 코드를 입력했는데 DB에 입력이 되질 않아서요.
register_form.skin.php 상단에
<?php
$kind = explode("|", $row['mb_2']);
$kind_00 = $kind[0];
$kind_01 = $kind[1];
?>
register_form.skin.php 내용에
<input type="checkbox" id="kind_00" name="kind_00" value="작가" <?php echo ($kind[0] == "작가") ? "checked" : "";?>> <label for="kind_00">작가</label>
<input type="checkbox" id="kind_01" name="kind_01" value="프리랜서" <?php echo ($kind[2] == "프리랜서") ? "checked" : "";?>> <label for="kind_01">프리랜서</label>
register_form_update.tail.skin.php에는
<?php
$mb_2 = "$kind_00|$kind_01";
$sql1 = " update {$member_table} set mb_2 = '{$mb_2}' where mb_id = '{$mb_id}' ";
sql_query($sql1);
이렇게 코드를 넣었는데 안되네요....
여러개를 써야하는데... 도움부탁드립니다.
!-->!-->!-->답변 3
update {$member_table} set mb_2 = '{$mb_2}' where mb_id = '{$mb_id}' ";
부분이 잘못되었습니다.
그누보드에서 $member_table 라는 테이블은 없습니다.
update g5_member set mb_2 = '{$mb_2}' where mb_id = '{$mb_id}' "; 라고하거나
update {$g5['member_table']} set mb_2 = '{$mb_2}' where mb_id = '{$mb_id}' "; 라고해야합니다.
테이블이 없기 때문에 update가 안되었다고 밖에 해석이 안되네요
그리고 회원가입 form에서는
<?
$mb_2_arr = array( // 기타정보 설정
"1" => "작가",
"2" => "프리랜서");
?>
<tr>
<th scope="row"><label for="mb_2">기타 정보<br>설정</label></th>
<td>
<?
$mb_2 = explode("|", $member['mb_2']);
foreach($mb_2_arr as $key => $val) {
$chk = in_array($key, $mb_2) ? " checked" : "";
echo "<label><input type='checkbox' name='mb_2[]' value='".$key."'".$chk.">".$val."</label> ";
}
?>
</td>
</tr>
이런식으로 배열로 선언해서 사용하시는것이 유지보수시에도 효율적입니다.
register_form_update.tail.skin.php 파일에서는 아래와 같이 사용하시면 됩니다.
$mb_2 = implode('|', $_POST['mb_2']);
$sql = " update {$g5['member_table']} set mb_2 = '{$mb_2}' where mb_id = '{$mb_id}' ";
sql_query($sql);
bbs/register_form_update.php에서
$_POST['kind_00']과 $_POST['kind_01'], $kind_00, $kind_01 이 받아지는지 확인해보시고,
$kind_00 = $_POST['kind_00'];
$kind_01 = $_POST['kind_01'];
직접 할당해보세요
소스상에는 이상 없어보입니다.
실제 DB가 들어가기전에 데이터를 찍어보시면 될듯합니다.