테스트 사이트 - 개발 중인 베타 버전입니다

회원가입시 mb필드 쪼개서 작업했는데 DB 입력이안됩니다 ㅠㅠ 채택완료

하로데스 7년 전 조회 1,769

회원분들께 도움을 요청합니다.

회원여분필드를 쪼개서 아래처럼 코드를 입력했는데 DB에 입력이 되질 않아서요.

 

register_form.skin.php 상단에

</p>

<p><?php 

$kind = explode("|", $row['mb_2']); 

$kind_00 = $kind[0];

$kind_01 = $kind[1];</p>

<p>?></p>

<p>

 

register_form.skin.php 내용에

</p>

<p><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></p>

<p>

 

register_form_update.tail.skin.php에는

</p>

<p><?php</p>

<p>$mb_2 = "$kind_00|$kind_01";

$sql1 = " update {$member_table} set mb_2 = '{$mb_2}' where mb_id = '{$mb_id}' ";

sql_query($sql1);</p>

<p>

 

이렇게 코드를 넣었는데 안되네요....

여러개를 써야하는데... 도움부탁드립니다.

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

답변 3개

채택된 답변
+20 포인트
그누위즈

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에서는

</p>

<p style="font-size:11pt; font-family:맑은 고딕;"><?

$mb_2_arr = array( // 기타정보 설정

    "1" => "작가",

    "2" => "프리랜서");

?></p>

<p style="font-size:11pt; font-family:맑은 고딕;"><tr>

    <th scope="row"><label for="mb_2">기타 정보
설정</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></p>

<p style="font-size:11pt; font-family:맑은 고딕;">

이런식으로 배열로 선언해서 사용하시는것이 유지보수시에도 효율적입니다.

 

register_form_update.tail.skin.php 파일에서는 아래와 같이 사용하시면 됩니다.

</p>

<p style="font-size:11pt; font-family:맑은 고딕;">$mb_2 = implode('|', $_POST['mb_2']);

$sql = " update {$g5['member_table']} set mb_2 = '{$mb_2}' where mb_id = '{$mb_id}' ";

sql_query($sql);</p>

<p style="font-size:11pt; font-family:맑은 고딕;">

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

하로데스
7년 전
감사드립니다. 잘되네요^^. 정말 감사합니다~

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

M
7년 전

소스상에는 이상 없어보입니다.

실제 DB가 들어가기전에 데이터를 찍어보시면 될듯합니다.

로그인 후 평가할 수 있습니다

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

LovelyCaT
7년 전

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'];

직접 할당해보세요

로그인 후 평가할 수 있습니다

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

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

로그인