input 배열 질문
본문
참고해서 했는데 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
올려주신 소스가 원본 소스라고 생각하고 답변 드리면
아래 처럼 value 값을 안주신게 아닌지 확인해 보시기 바랍니다.
<input type="text" name="wr_2[]" value="값" />
만약 올려주신 소스처럼 진행 하셨을경우
DB 에 | 값만 저장되어 있는 경우 해당 소스가 정상적으로 진행 되셨다고 볼수 있을거 같습니다.
두분다 답변 감사합니다ㅠㅠ
저 방법 다 해봤는데 안되더라구요
https://sir.kr/qa/52279 여기 글 보고
<input type="text" name="wr2[]" />바꿔서 해결했습니당!!
혹시 모르지만 키값을 넣어서 해보세요
<input type="text" name="wr_2[0]"/>
<input type="text" name="wr_2[1]"/>
<input type="text" name="wr_2[2]"/>
아 기억났다 여분필드 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]);
}
}