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

배열로 받은 post 값 DB 저장 채택완료

존론 10년 전 조회 10,115

write_skin.php에서

<tr>
  </tr>
      <td>
         <input name="wr_4[]" type="checkbox" id="wr_4" value="스카이"/>스카이</input>
      <input name="wr_4[]" type="checkbox" id="wr_4" value="지게차"/>지게차</input>
      <input name="wr_4[]" type="checkbox" id="wr_4" value="덤프사다리차"/>덤프사다리차</input> 
      </td>
  </tr>​

배열로 입력받고 post로 넘겨줬고요

 

 

write_update.php 부분에서

for($i=0 ; $i<sizeof($_POST[wr_4]) ; $i++){
     $wr_4 = $_POST[wr_4][$i];
 
 }


    $sql = " insert into $write_table
                set wr_num = '$wr_num',
                     wr_reply = '$wr_reply',
                     wr_comment = 0,
                     ca_name = '$ca_name',
                     wr_option = '$html,$secret,$mail',
                     wr_subject = '$wr_subject',
                     wr_content = '$wr_content',
                     wr_link1 = '$wr_link1',
                     wr_link2 = '$wr_link2',
                     wr_link1_hit = 0,
                     wr_link2_hit = 0,
                     wr_hit = 0,
                     wr_good = 0,
                     wr_nogood = 0,
                     mb_id = '{$member['mb_id']}',
                     wr_password = '$wr_password',
                     wr_name = '$wr_name',
                     wr_email = '$wr_email',
                     wr_homepage = '$wr_homepage',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '".G5_TIME_YMDHIS."',
                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                     wr_1 = '$wr_1',
                     wr_2 = '$wr_2',
                     wr_3 = '$wr_3',
                     wr_4 = '$wr_4',
                     wr_5 = '$wr_5',
                     wr_6 = '$wr_6',
                     wr_7 = '$wr_7',
                     wr_8 = '$wr_8',
                     wr_9 = '$wr_9',
                     wr_10 = '$wr_10' ";
    sql_query($sql);​

 

 

이렇게 해서 인서트 해줬는데 실제로 값을 보면 A라는 글짜만 나오는데 왜 그런가요? 

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

답변 1개

채택된 답변
+20 포인트
10년 전

구분자 넣으실 거면 for문 대신에 implode() 쓰시는 게 간단합니다.

$wr4 = implode("|", $_POST['wr_4']);

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

답변에 대한 댓글 3개

존론
10년 전
$wr4 를 인서트했더니 아무것도 안들어가는데 왜 그런가요?
왕계란
10년 전
print_r2($_POST['wr_4']);
이거 찍어 보세요.
정상적으로 값이 넘어오는지.
그리고 wr_4 = '$wr_4', 이거 $wr4로 바꾸신 거죠?
존론
10년 전
alert($wr4);
$sql = " insert into $write_table
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '{$member['mb_id']}',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$wr_homepage',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."',
wr_ip = '{$_SERVER['REMOTE_ADDR']}',
wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr4',

alert 해보면 값은 정상적으로 나오는데..

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

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

로그인