채택완료

input 배열 질문

https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=151&sfl=wr_subject%7C%7Cwr_content&stx=implode+%EB%B0%B0%EC%97%B4&sop=and

참고해서 했는데 db에 값이 저장되지 않아 질문드립니다ㅠㅠ

예전에는 분명 이 방식으로 하면 값이 저장되었던거 같은데 그누보드를 새로 설치하고 해도 안되서 뭐가 문제인지를 모르겠습니다..ㅠㅠ

1.write.skin.php

<input type="text" name="wr_2[]"/>

<input type="text" name="wr_2[]"/>

<input type="text" name="wr_2[]"/>

2.write_update.skin.php
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$wr_2 = implode("|", $_POST['wr_2']);
sql_query(" update $write_table set wr_2 = '$wr_2' where wr_id = '$wr_id' ");
?>

이렇게 했는데 뭐가 문제일까요??

|

답변 4개

채택된 답변
+20 포인트

올려주신 소스가 원본 소스라고 생각하고 답변 드리면

아래 처럼 value 값을 안주신게 아닌지 확인해 보시기 바랍니다.

<input type="text" name="wr_2[]" value="값" />

만약 올려주신 소스처럼 진행 하셨을경우 

DB 에 | 값만 저장되어 있는 경우 해당 소스가 정상적으로 진행 되셨다고 볼수 있을거 같습니다.

2020-07-29 (수) 14:52:12

아 기억났다 여분필드 wr_1 ~ wr_10 사용시 /bbs/write_udate.php 파일에서 string으로 형변환해서 배열이 풀려버리는 경우가 있어요 이부분 커스텀 하셔서 배열 string 변환 안되게 하시면되요

for ($i=1; $i<=10; $i++) {
    $var = "wr_$i";
    $$var = "";
    if (isset($_POST['wr_'.$i]) && settype($_POST['wr_'.$i], 'string')) {
        $$var = trim($_POST['wr_'.$i]);
    }
}
 

두분다 답변 감사합니다ㅠㅠ

저 방법 다 해봤는데 안되더라구요

https://sir.kr/qa/52279 여기 글 보고

<input type="text" name="wr2[]" />바꿔서 해결했습니당!!

2020-07-29 (수) 14:40:05

혹시 모르지만 키값을 넣어서 해보세요

<input type="text" name="wr_2[0]"/>

<input type="text" name="wr_2[1]"/>

<input type="text" name="wr_2[2]"/>

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